Curso de Sistema de Gestión de Bases de Datos: SQL Server - Lección 17

 

Interrogación de datos

La estructura básica común para todas las interrogaciones de datos es la siguiente:

SELECT columna_1, columna_2,...

FROM Tabla_1, Tabla_2,...

WHERE condiciones_de_búsqueda

GROUP BY expresion

ORDER BY expresion ASC/DESC

Por ejemplo, en la tabla de la lección anterior, si queremos obtener la lista ordenada alfabéticamente de todas las personas de la agenda que tienen 30 años:

SELECT Nombre

FROM Agenda

WHERE Edad=30

ORDER BY Nombre ASC

La consulta de selcción tiene mucha potencia, empleando los operadores adecuados. Así, es posible concatenar condiciones mediante los operadores booleanos AND, OR, NOT, NOR, XOR, etc.

SELECT Nombre, Direccion

FROM Agenda

WHERE Edad=30 AND Nombre LIKE 'Pepe'

Obtendrá como resultado todos aquellos cuyo nombre es Pepe y tienen 30 años. Cuando se encadenan distintas condiciones mediante operadores booleanos es necesario recordar el orden en el que estos se evaluan. Así la condición

WHERE Edad=30 AND Nombre LIKE 'Pepe' OR Direccion LIKE 'Plaza Mayor 26'

Produce un resultado distinto que

WHERE Edad=30 OR Direccion LIKE 'Plaza Mayor 26' AND Nombre LIKE 'Pepe'

Para evitar Estos problemas, conviene forzar la intrepretación mediante paréntesis. Así:

WHERE Edad=30 AND (Nombre LIKE 'Pepe' OR Direccion LIKE 'Plaza Mayor 26')

De esta forma se fuerza el cumplimiento de la expresión condicional, evaluándose primero la expresión que está entre paréntesis, y posteriormente la parte de la conjunción.

Además, es posible efectuar búsquedas de cadenas de caracteres empleando comodines. Para ello hay que olvidarse de las convenciones introducidas años atrás por el MS-DOS, y adaptarse a las propias de SQL. Estas son:

comodín significado equivalente en MS-DOS
% Cualquier número de caracteres *
_ Un único caracter ?
[] Cualquiera de los caracteres enumerados entre los corchetes  

Así la consulta formulada como:

SELECT Nombre, Direccion

FROM Agenda

WHERE Nombre LIKE 'Pe%'

Producirá como resultado a Pepe, pero también a Penélope, a Pedro, a Petra, etc.

La instrucción ORDER BY sirve para producir un resultado ordenado, de forma ascendente o descendente (ASC o DESC), por una determinada columna.

| Volver al Índice | Saber más |
Utilice las flechas para desplazarse a la pantalla anterior o posterior