ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Consultas sql . Consultas sencillas


Enviado por   •  16 de Agosto de 2019  •  Prácticas o problemas  •  2.966 Palabras (12 Páginas)  •  151 Visitas

Página 1 de 12

Consultas SQL (SELECT)

Consultas sencillas

Devolver todos los campos de una tabla (SELECT *)

SELECT *

FROM CLIENTES

Con el * indicamos que queremos devolver todos los campos. Si CLIENTES dispone de los campos idCliente, nombre y descripcion, lo anterior sería equivalente a:

SELECT idCliente, nombre, descripcion FROM CLIENTES

Obviamente, al querer todos los campos, esto es innecesario y es por tanto más conveniente emplear el asterisco (*). También sería equivalente emplear la notación completa:

SELECT CLIENTES.idCliente, CLIENTES.nombre, CLIENTES.descripcion FROM CLIENTES

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).

Devolver un subconjunto de los campos de una tabla (SELECT DISTINCT)

SELECT cp, ciudad FROM DIRECCION

Esta consulta devolverá únicamente los campos cp (código postal) y ciudad de la tabla DIRECCION. Al tener un subconjunto de los campos, éstos no tienen por qué incluir a la clave de la tabla, por lo que no tienen por qué ser únicos. Así, si tenemos muchos registros referidos a distintas calles y números de ese mismo código postal y ciudad, nos encontraremos muchos registros repetidos. Esto puede evitarse haciendo:

SELECT DISTINCT cp, ciudad FROM CLIENTES

Así se eliminan los registros repetidos, devolviendo únicamente una vez cada par cp, ciudad. Esta selección de un subconjunto de los datos de la tabla y excluyendo repetidos se denomina en álgebra relacional proyección.

Devolver un subconjunto de los registros de una tabla (WHERE)

SELECT numero, calle FROM DIRECCION

WHERE ciudad = ‘Sevilla’

Esta consulta devolvería el número y la dirección de todas las direcciones pertenecientes a la ciudad de Sevilla. Como vemos, con WHERE indicamos la condición que deben cumplir los registros de la tabla para ser devueltos en la consulta. 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 (‘Sevilla’).

SELECT calle, ciudad FROM DIRECCION

WHERE numero = 12

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. Las condiciones empleadas pueden ser mucho más complejas incluyendo otro tipo de operadores y combinaciones de los mismos.

Operadores relacionales

Al margen del signo de igualdad empleado anteriormente, se pueden usar n las condiciones simples de las consultas los operadores relacionales habituales, devolviendo siempre un valor booleano (lógico):

Operador

Significado

<

Menor que

>

Mayor que

<>

Distinto de

<=

Menor ó Igual que

>=

Mayor ó Igual que

=

Igual que

SELECT nombre FROM CLIENTES

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:

BETWEEN: para indicar un intervalo de valores.

SELECT nombre FROM CLIENTES

WHERE edad BETWEEN 20 AND 35

LIKE: empleado para comparar patrones de texto pudiendo incluir comodines como los siguientes:

Comodín

Descripción

%

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

SELECT num, calle, cp FROM DIRECCION

WHERE ciudad LIKE ‘Val%’

Esta consulta devolvería los datos de las direcciones de toda ciudad que comience por Val y siga por cualquier número de caracteres, incluyendo cero caracteres. Por ejemplo, Valladolid o

Valencia. En el enlace anterior sobre patrones de texto podemos practicar directamente desde la web.

IN: empleado para comparar con una lista de valores fijados de modo que devuelva True si el campo indicado pertenece a la lista.

SELECT num, calle, direccion FROM DIRECCION

WHERE ciudad IN (‘Sevilla’, ’Córdoba’, ‘Huelva’, ‘Cádiz’)

Operadores lógicos (AND, OR, NOT)

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

La precedencia y asociatividad es la habitual definida en la Lógica. En cualquier caso, cuando incluya expresiones que empleen varios de estos operadores es recomendable usar paréntesis para evitar errores. Por ejemplo:

...

Descargar como (para miembros actualizados)  txt (22 Kb)   pdf (197 Kb)   docx (35 Kb)  
Leer 11 páginas más »
Disponible sólo en Clubensayos.com