Consultas SQL: Sentencia SELECT

Consultas SQL: Sentencia SELECT

Autor: Pedro Cambra, de cambrico.net

La sentencia SELECT se utiliza para recuperar información de la base de datos, y puede proyectar las columnas seleccionadas, es decir, realizar un filtro sobre la tabla o tablas originales y recuperar solamente datos de las columnas filtradas. También puede seleccionar, es decir, filtrar los registros según varios criterios, o realizar uniones, que recopilan datos de diferentes tablas a través de una relación entre ellas.

Tema_02_-_Lenguaje_SQL_-_Introduccion_y_Consultas_SELECT_html_m7b2eca35.png

Las cláusulas SELECT, que especifica las columnas o expresiones que vamos a recuperar, y FROM , que indica la tabla de la que se recuperan, son obligatorias.

  • SELECT - Lista las columnas a recuperar.
  • * - Selecciona todas las columnas
  • DISTINCT - Elimina duplicados
  • column | expression - selecciona la columna y/o expresión (pueden ser varias) que se van a recuperar
  • alias - Indica la cabecera de cada una de las columnas o expresiones
  • FROM - La tabla que contiene las columnas
  • WHERE - Filtro de los registros a visualizar
  • condition(s) - Lista de condiciones de filtro.

Las sentencias SQL no son sensibles a mayúsculas o minúsculas pero se recomienda escribir las palabras clave en mayúsculas y el resto en minúsculas.

Seleccionar las columnas de una tabla

SELECT * 
FROM viajero;

Imagen_2_1.png

Para seleccionar todas las columnas de una tabla se utiliza el * tras el SELECT. Otra forma de hacerlo, sería ennumerar todas las columnas, separadas por comas, de la tabla.

SELECT id_viajero, nombre, apellidos, direccion, telefono, fecha_nacimiento
FROM viajero;

Para filtrar por columnas, tan solo hay que especificarlas separadas por comas.

SELECT nombre, apellidos 
FROM viajero;

Imagen_3_0.png

Expresiones aritméticas

Sirven para realizar cálculos sobre la información recuperada y mostrar los resultados de los mismos, se pueden usar los operadores aritméticos en cualquier cláusula de una sentencia SQL, excepto en la cláusula FROM.

Los operadores aritméticos (ordenados por prioridad) son

Imagen_4.png

SELECT nombre, continente, 
       num_habitantes, num_habitantes + 10000
FROM pais;

Imagen_5.png

Los operadores tienen prioridad y se debe utilizar paréntesis para forzar operaciones que se realizarían de forma diferente según su prioridad.

SELECT nombre, num_habitantes, 2 *num_habitantes + 1000000,
               2*(num_habitantes + 1000000)
FROM pais;

Imagen_6.png

Valores nulos

El valor nulo se representa con null e implica la ausencia de valor para una columna de una fila determinada. Es diferente del número 0 y del caracter espacio.

SELECT nombre, habitantes, clima 
FROM lugar;

Imagen_7.png

Operar valores nulos con expresiones aritméticas devolverá valores nulos:

SELECT nombre, habitantes + 100000, clima 
FROM lugar;

Imagen_8.png

Alias de columna

Los alias para las columnas sirven para renombrar la cabecera de una columna devuelta por una consulta SQL.

Para utilizarlos, se sitúa el alias después de la columna o expresión separado por un espacio, o se puede utilizar la palabra AS entre la columna y el alias.
Si el nombre del alias contiene espacios, tiene caracteres especiales (#, $, ...), o es sensible a mayúsculas/minusculas se debe entrecomillar con comillas dobles (").

SELECT nombre AS "Nombre del Lugar", 2*(habitantes + 5000) "Nueva Población" 
FROM lugar;

Imagen_9.png

Operador de concatenación

El operador de concatenación || sirve para unir columnas o expresiones entre sí y mostrarlas como una sola.

Es posible unir las columnas con cadenas de literales (entre comillas simples) para formar frases o literales.

SELECT apellidos || ', ' || nombre AS "Nombre Completo", 
       nombre || ' vive en ' || direccion || ' y nació el '        
       || fecha_nacimiento AS "Información"
FROM viajero;

Imagen_10.png

Uso de DISTINCT para eliminar duplicados

En ocasiones, habrá consultas que devuelvan filas duplicadas, utilizando la palabra clave DISTINCT, podemos eliminar estos duplicados del resultado de una sentencia SELECT.

SELECT continente 
FROM pais;

Imagen_11.png

SELECT DISTINCT continente 
FROM pais;

Imagen_12.png

Añadir nuevo comentario

 
 
 

Creative Commons License
Excepto donde se indique lo contrario, el contenido de este sitio está sujeto a una licencia de Creative Commons.