23. Ejemplo 5.1 Todas las columnas, Todas las filas SELECT numEmpleado, nombre, apellido, cargo, sexo, fechNac, salario, numOficina FROM Empleado
24.
25. Ejemplo 5.2 Recuperar colum nas especificas, todas las filas SELECT numEmpleado, nombre, apellido, salario FROM Empleado ;
26.
27.
28. Ejemplo 5.3 Uso de DISTINCT Tabla 1‑1 Tabla resultado con duplicados Tabla 1‑2 Tabla resultado eliminando duplicados SELECT numPropiedad FROM Visita; SELECT DISTINCT numPropiedad FROM Visita ;
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39. Ejemplo 5.10 Condición de búsqueda NULL La Tabla Visita contiene el detalle de todas las visitas a las propiedades.
40.
41.
42.
43. Ejemplo 5.11 Ordenando por una columna SELECT numEmpleado, nombre, apellido, salario FROM Empleado ORDER BY salario DESC;
44. Ejemplo 5.12 Ordenamiento por múltiples columnas La tabla Propiedad
45.
46. Ejemplo 5.12 Ordenamiento por múltiples columnas Tabla resultado para el ejemplo 5.12, con una clave de ordenamiento SELECT numPropiedad, tipo, hab, renta FROM Propiedad ORDER BY tipo ;
47.
48. Ejemplo 5.12 Ordenamiento por múltiples columnas Tabla resultado para el ejemplo 5.12, con dos claves de ordenamiento SELECT numPropiedad, tipo, hab, renta FROM Propiedad ORDER BY tipo, renta DESC ;
49.
50.
51.
52.
53.
54.
55.
56. Ejemplo 5.14 Uso de COUNT(DISTINCT) SELECT COUNT(DISTINCT numPropiedad) AS myCount FROM Visita WHERE fecha BETWEEN ‘1-Nov-1999’ AND ‘31-Nov-1999’;
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72. Ejemplo 5.19 Usando una subconsulta con Igualdad Tabla Oficina Tabla Empleado Listar los empleados que trabajan en la oficina ubicada en ‘163 Main Street’ Tabla resultado
73.
74.
75.
76. Ejemplo 5.20 subconsulta con una función agregada. Tabla Empleado SELECT numEmpleado, nombre, apellido, cargo , salario - (SELECT AVG(salario) FROM Empleado) AS Diferencia FROM Empleado WHERE salario > (SELECT AVG(salario) FROM Empleado);
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101. Ejemplo 5.27 Agrupando por múltiples columnas Tabla Resultado del ejemplo 5.27 SELECT e.numOficina, s.numEmpleado, COUNT(*) AS myCount FROM Empleado e, Propiedad p WHERE e.numEmpleado = p.numEmpleado GROUP BY e.numOficina, e.numEmpleado ORDER BY e.numOficina, e.numEmpleado;
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115. Ejemplo 5.31 Consulta usando EXIST Listar todos los empleados que trabajan en alguna oficina de Londres . Tabla Empleado Tabla Oficina
116.
117. Ejemplo 5.31 Consulta usando EXIST Tabla Empleado Tabla Oficina Tabla resultado Ejemplo 5.31 SELECT numEmpleado, nombre, apellido, cargo FROM Empleado e WHERE EXISTS (SELECT * FROM Oficina o WHERE e.numEmpleado = o.numEmpleado AND ciudad = ‘London’);
SQL es un ejemplo de un lenguaje orientado a transformación o un lenguaje diseñado para utilizar relaciones para transformar entradas en salidas requeridas. Como un lenguaje, el estándar ISO SQL tiene dos principales componentes: Un lenguaje de definición de datos (DDL) para definir la estructura de la base de datos y controlar el acceso a los datos; Un Lenguaje de manipulación de datos (DML) para recuperar y actualizar datos
Para listar las cantidades requeridas, primero debemos identificar que empleado realmente administra alguna propiedad. Esto se puede realizar uniendo las tablas Empleado y Propiedad sobre la columna numEmpleado
Como estamos insertando datos en cada columna en el orden en que la tabla fue creada, no hay necesidad de especificar una lista de columnas. Note que el carácter literal tal como ‘Alan’ debe ir encerrado en comillas simples.
Este ejemplo es complejo porque deseamos contar el número de propiedades que el empleado maneja. Si omitimos la segunda parte de la UNION obtenemos la lista de aquellos empleados que manejan al menos una propiedad; en otras palabras, excluimos aquellos empleados que actualmente no manejan propiedades. Por lo tanto para incluir aquellos empleados que no manejan propiedades , necesitamos usar la instrucción UNION e incluir un segundo SELECT para agregar tales empleados, usando 0 para el atributo total. Note que algunos dialectos de SQL pueden no permitir el uso del operador UNION dentro de un subselect para un INSERT