Curso SQL Hispabyte : Tema 3 – Teoria

CURSO BASICO SQL : TEMA 3

LA INSTRUCCION SELECT

La instruccion SELECT sirve para seleccionar datos de las tablas. A una SELECT se le llama habitualmente consulta.

La sintaxis es:

SELECT campos a seleccionar FROM tablas a seleccionar [WHERE condiciones][HAVING condiciones] [GROUP BY campos] [ ORDER BY campos]

Las expresiones entre corchetes son opcionales. Si quieres colocar varios campos o varias tablas, estas se serparan por comas. Las condiciones que veremos por ahora son aplicables a WHERE y a HAVING.

La diferencia entre WHERE y HAVING es que WHERE es para condiciones sobre los distintos campos, mientras HAVING es para condiciones de campos expuestos en el GROUP BY y permite comparar funciones de agregado (todo esto lo veremos mas adelante)

En los campos a seleccionar, se puede indicar uno a uno cada campo o usar el comodin *. Este comodin significa que seleccionarmos todos los campos.

Tambien podemos usar alias para las tablas , colocando la plabra tabla as NuevoNombre, asi al manipularlo en el resto de la consulta nos referiremos a el como NuevoNombre.

La manera correcta para referenciar un campo en cualquier lugar de la consulta es Tabla.Campo, aunque siempre que no haya confusiones (2 o mas tablas con el mismo nombre de campo) se puede omitir.

Ejemplo:SELECT tabla.* FROM tabla; /* Aqui seleccionara todos los campos de tabla */

SELECT tabla.campo1, tabla.campo2 FROM tabla; /* Aqui seleccionara campo1 y campo2 de tabla */

SELECT nuevonombre.campo1 , nuevonombre.campo2 FROM tabla AS nuevonombre;

/* Aqui un ejemplo usando alias */

OPERADORES LOGICOS

Primero explicare los operadores logicos. En las consultas podemos usar AND, OR y con ambos puede ir NOT.

El NOT sirve para negar. Por ejemplo, NOT expresion se cumplira si no se cumple dicha expresion.

Dos condiciones unidas por AND, indica que ambas deben cumplirse.

Dos condiciones unidas por OR ,indica que una de las dos debe cumplirse.

A lo largo de varios ejemplos, se vera el uso del NOT , el AND y el OR.

CONDICIONES

La mayoria de condiciones se hacen comparando valores o campos o sub consultas. Tambien veremos otras condiciones y en el siguiente tema veremos las subconsultas.

Los operadores de comparacion son

  • > (Mayor que)
  • < (Menor que)
  • = (Igual a)
  • >= (Mayor o igual)
  • <= (Menor o igual)
  • <> (Distinto)
Ejemplo:SELECT integrantes.nombre, integrantes.apellidos FROM integrantes WHERE integrantes.anyo_nacimiento>1970;

/* Aqui seleccionara los nombres y apellidos de los integrantes de algun grupo nacidos despues de 1970*/

La condicion expresion IS [NOT] NULLse cumple si la expresion es nula en el caso de IS NULL o si la expresion no es nula en el caso de IS NOT NULL. Recordad que null no es lo mismo que 0 o cadena vacia.

Ejemplo:SELECT integrantes.nombre, integrantes.apellidos FROM integrantes WHERE integrantes.anyo_nacimiento>1970 AND apellidos IS NOT NULL;

/* Aqui seleccionara los nombres y apellidos de los integrantes de algun grupo nacidos despues de 1970 , siempre que el apellido no sea nulo (se haya introducido un apellido) */

La condicion expresion IN (valor1,valor2) , se cumple si expresion es igual a alguno de los valores dentro de IN, separados por comas.

Ejemplo:SELECT integrantes.nombre, integrantes.apellidos FROM integrantes WHERE integrantes.anyo_nacimiento IN (1971,1972);

/* Aqui seleccionara los nombres y apellidos de los integrantes de algun grupo nacidos en 1971 y 1972 */

La condicion expresion BETWEEN numero AND numero se cumple si expresion esta en un valor entre ambos numeros, ambos inclusive.

Ejemplo:SELECT integrantes.nombre, integrantes.apellidos FROM integrantes WHERE integrantes.anyo_nacimiento BETWEEN 1971 AND 1973;

/* Aqui seleccionara los nombres y apellidos de los integrantes de algun grupo nacidos entre 1971 y 1973 */

La condicion expresion LIKE ‘cadena’ . Esta expresion posee dos caracteres comodines que pueden usarse :

  • % indica cualquier caracter y cualquier numero caracteres (sustituiria muchas letras)
  • _ indica cualquier caracter pero solo 1 numero de caracteres (sustituiria una letra)
Ejemplo:SELECT integrantes.nombre, integrantes.apellidos FROM integrantes WHERE integrantes.apellidos LIKE ‘Bis%’;

/* Aqui seleccionara los nombres y apellidos de los integrantes que sus apellido empezara pos Bis*/

En las proximas lecciones veremos las subconsultas, las funciones de agregado y otros tipos de condiciones.

This entry was posted in Bases de datos, Hispabyte, Programacion, Tutoriales / Manuales, Webmaster and tagged , , , , , , , , . Bookmark the permalink.

Deja un comentario

Tu dirección de correo electrónico no será publicada.