01. Introduccion Consultas SQL
01. Introduccion Consultas SQL
Consultas sencillas :
SELECT *
FROM Empleados
Al tener únicamente una tabla involucrada, podemos referirnos a los campos sin
calificar, dado que no hay duda de a qué tabla se refiere. Cuando veamos
consultas sobre varias tablas comprenderemos la necesidad de incluir esta
notación calificada (TABLA.campo) :
Así se eliminan los registros repetidos, devolviendo únicamente una vez cada par
cp, ciudad.
Devolver un subconjunto de los registros de una tabla (WHERE)
En este caso tenemos una condición simple dada por la comparación de igualdad
(=) entre al campo (ciudad) y un literal de tipo cadena, entre comillas simples
(‘Guasave’).
Esta otra consulta devolvería la calle y ciudad de todos los registros de la tabla
con el número 12, en este caso un literal numérico.
Operadores relacionales :
Operador Significado
< Menor que
> Mayor que
<> Distinto de
<= Menor o igual
que
>= Mayor o igual
que
= Igual que
SELECT nombre
FROM EMPLEADOS
WHERE edad <= 32
Adicionalmente, disponemos de operadores de comparación adicionales,
también devolviendo valores booleanos (lógicos) True o False según si se
cumplen o no las condiciones:
SELECT nombre
FROM EMPLEADOS
WHERE edad BETWEEN 20 AND 35
Comodin Descripcion
% Sustituto para cero o más caracteres.
_ Sustituto para exactamente un carácter
[lista caracteres] Cualquier carácter de la lista
[^lista caracteres] Cualquier carácter que no esté en la lista
[!lista caracteres] Cualquier carácter que no esté en la lista
Esta consulta devolvería los datos de las direcciones de toda ciudad que comience
por G y siga por cualquier número de caracteres, incluyendo cero caracteres. Por
ejemplo, Guasave o Guamuchil.
IN: Se utiliza para comparar con una lista de valores fijados de modo que
devuelva True si el campo indicado pertenece a la lista.
Los operadores lógicos nos sirven para componer expresiones de filtrado a partir
de las anteriores:
Operador Significado
AND Y lógico
OR O lógico
NOT Negación
lógica
SELECT *
FROM DIRECCION
WHERE (ciudad = ‘Guasave’ AND cp = 81000) OR (ciudad = ‘Guamuchil’
AND (NOT cp = 81028))
Ordenación
Podemos ordenar los registros devueltos por una consulta por el campo o campos
que estimemos oportunos:
SELECT *
FROM CIUDAD
ORDER BY ESTADO ASC, numhabitantes DESC
Esta consulta devolvería todas las ciudades ordenadas por estado en orden
ascendente, y dentro de los del mismo estado ordenaría las ciudades por orden
descendente del número de habitantes. Si no indicamos ASC ni DESC, el
comportamiento por defecto será el orden ascendente (ASC).
Devolución de expresiones