Tema 2. Las consultas simples (III) |
Selección de filas |
A continuación veremos las cláusulas que
nos permiten indicar qué filas
queremos visualizar. |
|
Al incluir la cláusula DISTINCT en la SELECT, se eliminan del resultado las repeticiones de filas. Si por el contrario queremos que aparezcan todas las filas incluidas las duplicadas, podemos incluir la cláusula ALL o nada, ya que ALL es el valor que SQL asume por defecto. Por ejemplo queremos saber los códigos de los
directores de oficina. |
SELECT dir FROM oficinas |
Lista los códigos de los directores de las oficinas. El director 108 aparece en cuatro oficinas, por lo tanto aparecerá cuatro veces en el resultado de la consulta. |
SELECT DISTINCT dir FROM oficinas |
En este caso el valor 108 aparecerá una sola vez
ya que le decimos que liste los distintos valores de directores. |
La cláusula TOP permite sacar las n primeras filas de la tabla origen. No elige entre valores iguales, si pido los 25 primeros valores pero el que hace 26 es el mismo valor que el 25, entonces devolverá 26 registros en vez de 25 (o los que sea). Siempre se guia por la columna de ordenación, la que aparece en la cláusula ORDER BY o en su defecto la clave principal de la tabla. Por ejemplo queremos saber los dos empleados más antiguos de la empresa. |
SELECT TOP 2 numemp, nombre
|
Lista el código y nombre de los empleados ordenándolos por fecha de contrato, sacando unicamente los dos primeros (serán los dos más antiguos). |
SELECT TOP 3 numemp, nombre
|
En este caso tiene que sacar los tres primeros, pero
si nos fijamos en las fechas de contrato tenemos 20/10/86, 10/12/86, 01/03/87,
01/03/87, la tercera fecha es igual que la cuarta, en este caso sacará
estas cuatro filas en vez de tres, y sacaría todas las filas que
tuviesen el mismo valor que la tercera fecha de contrato. |
El número de filas que queremos visualizar se
puede expresar con un número entero o como un porcentaje
sobre el número total de filas
que se recuperarían sin la cláusula TOP. En este último
caso utilizaremos la cláusula TOP n PERCENT
(porcentaje en inglés). |
SELECT TOP 20 PERCENT nombre
|
Lista el nombre de los empleados ordenándolos
por fecha de contrato, sacando unicamente un 20% del total de empleados.
Como tenemos 10 empleados, sacará los dos primeros, si tuviesemos
100 empleados sacaría los 20 primeros. |
|
SELECT nombre |
Lista el nombre de los empleados de la oficina 12. |
SELECT nombre |
Lista el nombre de los empleados de la oficina 12 que tengan más de 30 años. (oficina igual a 12 y edad mayor que 30) |
![]() |
![]() |
![]() |
Pag. 2.3
|
Síguenos en: Facebook Sobre aulaClic Política de Cookies
© aulaClic S.L. Todos los derechos reservados. Prohibida la reproducción por cualquier medio.