Unidad IV : Consultas Simples
CONSULTAS SIMPLES
El proceso más importante que
podemos llevar a cabo en una base de datos es la consulta de los datos. De nada
serviría una base de datos si no se puede consultar. Es además la
operación que efectuaremos con mayor frecuencia. Para consultar la información
SQL pone a nuestra disposición la sentencia SELECT.
La sentencia
SELECT
La sentencia SELECT nos
permite consultar los datos almacenados en una tabla de la base de datos. El
formato de la sentencia select es:
SELECT [ALL|DISTINCT] <nombre_campo>
FROM <nombre_tabla>
WHERE <condición> [AND|OR]
[ORDER BY <nombre_campo> [ASC|DESC]
Veamos por partes que quiere decir
cada una de las partes que conforman la sentencia.
Sentencia |
Significado |
SELECT |
Palabra
clave que indica que la sentencia de SQL que queremos ejecutar es de
selección. |
ALL |
Indica que
queremos seleccionar todos los valores.Es el valor por defecto y no
suele especificarse casi nunca. |
DISTINCT |
Indica que
queremos seleccionar sólo los valores distintos. |
FROM |
Indica la
tabla (o tablas) desde la que queremos recuperar los datos. En el caso de que
exista más de una tabla se denomina a la consulta "consulta
combinada" o "join". En las consultas combinadas es necesario
aplicar una condición de combinación a través de una cláusula WHERE. |
WHERE |
Especifica
una condición que debe cumplirse para que los datos sean devueltos por la
consulta. Admite los operadores lógicos AND y OR. |
ORDER BY |
Presenta
el resultado ordenado por las columnas indicadas. El orden puede expresarse
con ASC (orden ascendente) y DESC (orden descendente). El valor
predeterminado es ASC. |
Para formular una consulta a la
tabla tCoches y recuperar los campos matricula, marca, modelo, color, número_ kilómetros,
num_plazas debemos ejecutar la siguiente consulta. Los datos serán devueltos
ordenados por marca y por modelo en orden ascendente, de menor a mayor.
|
La palabra clave FROM
indica que los datos serán recuperados de la tabla tCoches. Podriamos haber
especificado más de una tabla, pero esto se verá en otro capítulo. Tambien podríamos haber simplificado la
consulta a través del uso del comodín de campos, el asterisco "*".
|
El uso del asterisco indica que queremos que la consulta devuelva todos los
campos que existen en la tabla.
La cláusula
WHERE
La cláusula WHERE es la
instrucción que nos permite filtrar el resultado de una sentencia SELECT.
Habitualmente no deseamos obtener toda la información existente en la tabla,
sino que queremos obtener sólo la información que nos resulte útil es ese
momento. La cláusula WHERE filtra los datos antes de ser devueltos por
la consulta.
En nuestro ejemplo, si queremos
consultar un coche en concreto debemos agregar una cláusula WHERE. Esta
cláusula especifica una o varias condiciones que deben cumplirse para que la
sentencia SELECT devuelva los datos. Por ejemplo, para que la consulta
devuelva sólo los datos del coche con matricula M-1525-ZA debemos ejecutar la
siguiente sentencia:
Cuando en una cláusula where queremos incluir un tipo texto, debemos incluir
el valor entre comillas simples. |
Además, podemos utilizar tantas
condiciones como queramos, utilizando los operadores lógicos AND y OR
. El siguiente ejemplo muestra una consulta que devolverá los coches cuyas
matriculas sean M-1525-ZA o bien M-2566-AA.
|
Además una condición WHERE puede
ser negada a través del operador lógico NOT. La siguiente consulta
devolverá todos los datos de la tabla tCohes menos el que tenga matricula
M-1525-ZA.
|
Podemos también obtener las diferentes marcas y modelos de coches ejecutando la
consulta.
|
La ver los valores distintos. En el caso anterior la palabra clave DISTINCT indica
que sólo queremos los valores distintos del par formado por los campos marca y
modelo.
La cláusula
ORDER BY
Como ya hemos visto en los ejemplos anteriores podemos especificar el orden en
el que serán devueltos los datos a través de la cláusula ORDER BY.
|
Como podemos ver en el ejemplo
podemos especificar la ordenación ascendente o descendente a través de las
palabras clave ASC y DESC. La ordenación depende del tipo de
datos que este definido en la columna, de forma que un campo numérico será
ordenado como tal, y un alfanumérico se ordenará de la A a la Z, aunque su
contenido sea numérico. De esta forma el valor 100 se devuelve antes que el 11.
También podemos especificar el en
la cláusula ORDER BY el índice numérico del campo dentro del la
sentencia SELECT para la ordenación, el siguiente ejemplo ordenaría los
datos por el campo marca, ya que aparece en segundo lugar dentro de la lista de
campos que componen la SELECT.
|
Comentarios
Publicar un comentario