Você está na página 1de 50

Consultas

Gabinete de Auditoria de Sistemas CPA 506


Jhonny Roberto Felpez Andrade
jrfelizamigo@gmail.com

CPA 506 Consultas


Cmo respondemos a las siguientes preguntas? Qu es un SELECT? Qu es un FROM? Qu es un WHERE? Qu es un campo calculado?

Qu es una Consulta?
Una consulta es un pregunta que realizas a tu base de datos. Ud. puede:

Desplegar datos desde multiples tablas Decidir que campos desplegar. Efectuar calculos sobre los valores de los campos Grabar una consulta automticamente.
CPA 506 Gestin 2012

Ejemplo de Consulta
Note que los nombres de tablas empiezan con una mayscula.

CPA 506 Gestin 2012

Ejemplo de Consulta
Note que los nombres de tablas empiezan con una mayscula.

CPA 506 Gestin 2012

Tipo de Consultas y Descripciones


Consulta de Seleccin Es la consulta mas comn. Recupera y despliega datos especificos requeridos de una o ms tablas; se puede especificar el orden de despliegue. Consultas de Accin Ejecuta la actualizacin de ms de un registro con una sola operacin. Tipos:
Consulta Update: altera los datos de la Tabla Consulta Append: adiciona registros de una tabla a otra tabla Consulta Delete: elimina registros, por ejemplo <1990 Consulta Crea Tabla: crea a nueva Tabla del resultado de una consulta.
CPA 506 Gestin 2012

Palabras Reservadas o Clave


Select * from Empleados

Select, *, y from son palabras y smbolos reservados (clave) que tienen un significado especial en SQL Despus de la palabra from, si en el SQL se tiene la palabra Empleados, se asume que esto es el nombre de la tabla.

CPA 506 Gestin 2012

Cadenas
where nombre_empleado = Juan Perez

Despus de la palabra clave where, SQL asume que la palabra nombre_empleado es el nombre del campo (columna)
Juan Perez es una cadena Una cadena es una secuencia de simbolos ASCII encerrados por simples o dobles comillas el cual denota un valor.
CPA 506 Gestin 2012

Ejemplo de Consulta

Retorna registros con el nombre igual a Juan

CPA 506 Gestin 2012

Ejemplo de Consulta

Retorna registros con el sueldo mayores a 3000

CPA 506 Gestin 2012

10

Criterio de Relacin, como en WHERE Nombre = Juan


= > < (igual a, mayor que, menor que)

<=
<> LIKE

>=

(menor o igual a, mayor o igual a)


Distinto a Patron especificado (es nulo) (en)

BETWEEN (entre)
IS NULL IN

CPA 506 Gestin 2012

11

Operador LIKE
LIKE verifica la correspondencia con un patrn, Si olvida el nombre de un empleado y lo nico que recuerda que empieza con J, podria ser quiza Juan, Jose o Javier. Puede utilizar el test de correspondencia con un patrn para recuperar los datos en base a correspondencia parcial del nombre del empleado. SELECT * FROM Empleados WHERE Nombre LIKE J%
CPA 506 Gestin 2012

12

Ejemplo de Consulta

Retorna registros con el nombre igual a Juan

CPA 506 Gestin 2012

13

Comodines del Patrn de LIKE


El signo de porcentaje "%" puede ser utilizado como un comodn para reemplazar a una secuencia de cero o ms caracteres. En otras base de datos, el comodn puede ser diferente (tal como *) SELECT Nombre, Ciudad FROM Empleados WHERE Nombre LIKE J%; Esta sentencia SQL muestra todos los registros cuyos nombres comienzan con J'. Retorna Juan, Jose y Javier
CPA 506 Gestin 2012

14

Ejemplo de Consulta

CPA 506 Gestin 2012

15

Ms Comodines del Patrn


Subrayado: _ significa que cualquier carcter simple tiene que estar presente SELECT Nombre, Ciudad FROM Empleados WHERE Nombre LIKE _aul; Esta sentencia SQL muestra todos los registros cuyos nombres finalizan con aul. Retorna Saul, pero no aul Nota: From o from ambos estn bien
CPA 506 Gestin 2012

16

Ejemplo de Consulta

CPA 506 Gestin 2012

17

Ejemplo de Consulta

CPA 506 Gestin 2012

18

Ejemplo de Consulta

CPA 506 Gestin 2012

19

Ms Comodines del Patrn


Corchetes: [] significa que se toma en cuenta cualquier carcter o conjunto de caracteres del intervalo que tiene o tienen que estar presente. SELECT Nombre, Ciudad FROM Empleados WHERE Nombre LIKE [RS]aul; Esta sentencia SQL muestra todos los registros cuyos nombres finalizan con aul y que empiecen en R y S. Retorna Raul y Saul.
CPA 506 Gestin 2012

20

Ejemplo de Consulta

CPA 506 Gestin 2012

21

Operadores Lgicos
AND OR condicin (solamente con ambas) condicin (con una o la otra)

NOT condicin (es falsa)


Para NOT, tiene que ser NOT (Ciudad = La Paz)

Selecciona registros con valores distintos a La Paz. SELECT * FROM Empleados WHERE NOT(Ciudad = La Paz)
CPA 506 Gestin 2012

22

Ejemplo de Consulta

CPA 506 Gestin 2012

23

Ejemplo de Consulta

CPA 506 Gestin 2012

24

Ejemplo de Consulta

CPA 506 Gestin 2012

25

Ejemplo de Consulta

CPA 506 Gestin 2012

26

Ejemplo: No realizar esto!!!!! SELECT * FROM Empleados WHERE Nombre = Juan OR Jose
Nota: Repita el campo Nombre cada vez quiza sea esto un inconveniente- porque la consulta se EJECUTAR, pero los resultados estarn EQUIVOCADOS!

CPA 506 Gestin 2012

27

Orden de precedencia:
Cuando ms de un operador lgico es utilizado en una consulta, NOT es evaluado primero luego AND y finalmente OR
Para que usted est seguro que la sentencia introducida sea la correcta, utilice parentesis!

CPA 506 Gestin 2012

28

Ejemplo:
SELECT * FROM Empleados WHERE Sueldo < 2000 OR Sueldo > 3000 AND Ciudad = La Paz

SELECT * FROM Empleados WHERE (Sueldo < 2000 OR Sueldo > 3000) AND Ciudad = La Paz

CPA 506 Gestin 2012

29

Operador BETWEEN
BETWEEN verifica si los datos se encuentran dentro un rango. SELECT * FROM Empleados WHERE Sueldo BETWEEN 2000 AND 4000 lo anterior es equivalente a SELECT * FROM Empleado WHERE 2000 <= Sueldo AND Sueldo <= 4000
CPA 506 Gestin 2012

30

Ejemplo de Consulta

CPA 506 Gestin 2012

31

Operador IN
IN toma una lista de valores separadas por comas, SELECT * FROM Empleados WHERE Ciudad IN (La Paz, Tarija)

lo anterior es equivalente a
SELECT * FROM Empleados WHERE Ciudad = La Paz OR Ciudad = Tarija
CPA 506 Gestin 2012

32

Ejemplo de Consulta

CPA 506 Gestin 2012

33

Relacin de tablas

CPA 506 Gestin 2012

34

Consultas multitablas (composiciones)


Muchas consultas tiles necesitan datos de dos o ms tablas. SQL permite recuperar datos que responden a estas peticiones mediante consulta multitabla que se componen (join) de datos de dos o ms tablas.
Clientes Ventas

CPA 506 Gestin 2012

35

Ejemplo

CPA 506 Gestin 2012

36

Producto cartesiano (A x B)
Dado:

A = {1, 2, 3, 4} y B = {a, b}
Entonces:

A B = {(1, a), (1, b), (2, a), (2, b), (3, a), (3, b), (4, a), (4, b)}

CPA 506 Gestin 2012

37

Producto Cartesiano Une todas las posibles combinaciones de los registros de las tablas

Cada proveedor es desplegado con cada producto, as en total se tiene: 3 * 5 = 15 registros!

CPA 506 Gestin 2012

38

Cuando utilizar las composiciones


Cuando se necesita los datos de dos tablas y adems se desea limitar su bsqueda slo a algunos registros. Para la composicin de dos tablas elija un campo comn entre ambas tablas, que tenga el mismo valor correspondiente. Esta composicin slo crea una vista de ambas tablas. No es una relacin permanente!.

CPA 506 Gestin 2012

39

Ejemplo de Consulta

Utilice WHERE para seleccionar (filtrar) los registros del producto cartesiano
CPA 506 Gestin 2012

40

Ejemplo de Consulta

Si dos tablas tienen el mismo nombre de campo tal como ProveedorID se tiene que especificar el nombre de la tabla por delante.
CPA 506 Gestin 2012

41

Ejemplo de Consulta

No tiene que especificar Productos.NombreProducto porque Proveedores no tiene el campo NombreProducto.


CPA 506 Gestin 2012

42

Orden de las clausulas en una consulta SELECT

La clusula WHERE viene despus de la clusula FROM.


La clusula ORDER BY se ubica al final.

CPA 506 Gestin 2012

43

Ejemplo de Consulta

Los campos que se despliegan no necesariamente intervienen en la composicin o filtrado


CPA 506 Gestin 2012

44

Ejemplo

CPA 506 Gestin 2012

45

Ejemplo de Consulta

CPA 506 Gestin 2012

46

Ejemplo de Consulta

CPA 506 Gestin 2012

47

Campos calculados
AS establece un alias para un valor calculado.

CPA 506 Gestin 2012

48

Ejemplo de Consulta

CPA 506 Gestin 2012

49

En resumen
Cmo respondemos a las siguientes preguntas? Qu es un SELECT? Qu es un FROM? Qu es un WHERE? Qu es un campo calculado?

CPA 506 Gestin 2012

50

Você também pode gostar