Professional Documents
Culture Documents
SQL (Structured Query Language ó Lenguaje Estructurado de Consulta), es un
lenguaje bastante sencillo, principalmente orientado a bases de datos y, sobre
todo, al manejo de consultas.
La cláusula FROM
FROMpermite indicar en qué tablas o en qué consultas (queries) se
encuentran los campos especificados en la sentencias SELECT. Estas tablas o consultas
se separan por medio de comas
La claúsula
ERE
EREes opcional, y permite seleccionar qué registros aparecerán en la
consulta (si no se especifica aparecerán todos los registros). Para indicar este conjunto de
registros se hace uso de criterios .
Ejemplos de mandatos SQL en la estructura
SELECT...FROM
SELECT
FROM
SELECT
FROM
Selecciona los campos 'nombre' y 'apellidos' de la tabla 'clientes'.
SELECTFROM
Selecciona todos los campos de la tabla 'pedidos'.
SELECT
FROM
Selecciona los campos 'nombre', 'apellidos' y 'telefono' de la tabla 'clientes'. De esta manera
obtenemos una agenda telefónica de nuestros clientes.
SELECTFROM
ERE
LFREDO
Selecciona todos los campos de la tabla 'clientes', pero los registros de todos aquellos clientes
que se llamen 'ALFREDO'.
SELECTFROM
ERE D
Selecciona todos los alumnos con edades comprendidas entre los 18 y los 25 años.
SELECTFROM
ERE ET
EED
Selecciona todos los alumnos con edades comprendidas entre los 18 y los 25 años.
SELECTFROM
ERE
LIKEL%
Selecciona los clientes cuyo nombre comience con los caracteres 'AL'.
SELECTFROM
ERE LIKE!%EZ
Selecciona los clientes cuyos apellidos terminen con los caracteres 'EZ'.
SELECTFROM
ERE LIKE!%M %!
LIKE!%M
Selecciona los clientes cuyos apellidos contengan, en cualquier posición, los caracteres
¶mar'.
SELECTFROM
ERE"
I
I#!$EJ$TL!TMhICO!
#!$EJ$TL!TMhICO!
!hC$C!
SELECT
FROM
ORDER'
Omite los registros que contienen datos duplicados en los campos seleccionados. Para que los
valores de cada campo listado en la instrucción SELECT se incluyan en la consulta deben ser
únicos. Por ejemplo, varios clientes listados en la tabla clientes pueden tener la misma ciudad. Si
dos registros contienen la misma ciudad, la siguiente instrucción SQL devuelve un único registro:
SELECTDISTICT FROM
FROM
También podemos asignar alias a las tablas dentro de la consulta de selección
-
I
-
-
E
-
-
M -
-
C
-
ISERTITO
Agrega un registro en una tabla. Se le conoce como una consulta de datos añadidos.
modifica el contenido de uno o mas campos de una tabla, de igual manera pueden realizarse
operaciones con los campos.
En caso de tener varios registros con un mismo puesto y que se desee modificar el
contenido de un campo como en este ejemplo se desea aumentar el sueldo al trabajador en
10% pero solo aquellos que cumplan la condición.
Crea una consulta de eliminación que elimina los registros de una o más de las tablas
listadas en la cláusula FROM que satisfagan la cláusula
ERE. Esta consulta elimina
los registros completos, no es posible eliminar el contenido de algún campo en concreto
Donde el parámetro 'tablas' indica el nombre de las tablas de las cuales se desea
eliminar los registros, y, el parámetro 'criterios', representa las comparaciones o
criterios que deben cumplir los registros a eliminar, respetando a aquellos
registros que no los cumplan. Si - por ejemplo - quisiéramos eliminar todos los
pedidos realizados por el cliente cuyo código sea 4 en el día de hoy, utilizaríamos la
siguiente sentencia:
FROM
ERE.
DELETEFROM
DELETE ERE. /
/
0 D(
)
)#1
#1
C
S
C
S
*2
SELECTS$M#
1FROM
SELECTS$M#
/33/ 1S FROM
SELECTS$M#
/
SELECT 45
45(unidades) FROM PEDIDOS
Retorna el promedio de unidades pedidas
SELECT 45
45(ingresos-gastos) AS ´saldo_medioµ FROM diario
Retorna el saldo medio de una tabla llamada 'diario¶
SELECT 45
45(unidades) AS ¶media· FROM pedidos WHERE fecha=Now()
Retorna el promedio de unidades pedidas hoy
C
R/
Otra operación muy común es realizar un recuento de registros. Aunque a primera vista
pueda parecer poco práctico, la realidad es bien distinta. p
. ¿O comprobar cuántos pagos se han realizado por
una determinada cantidad?. ¿O saber cuántos clientes cumplen hoy años, se jubilan, son
menores o mayores de edad,
edad tienen alguna deuda, viven en esta ciudad o en tal otra, tienen
teléfono móvil, están casados o solteros, etc.?. Para conocer cuántos registros hay
utilizaremos la
6
&
6
&
+ /
2
CO$T#+6
1
L
6
6
7 /
+6
S
S
!"
Retorna el número de pedidos realizados hoy
SELECTS$M#
1S 45#
1S CO$T#1S
/M8#
1S! +9MI#
1S!
9FROM
ERE( ET
EE:;;,<:D:=;,;,<:
SELECTDISTICT
SELECTDISTICT. /
0( FROM
SELECTDISTICT. /
Imaginemos que queremos hacer un resumen de nuestros pedidos, y queremos saber cuántos
pedidos y unidades han realizado cada uno de nuestros clientes. Para ello, se escribiría una
sentencia como ésta:
SELECT /
# /
1S
S$M#
1
S
FROM 5RO$h' /
podemos combinar datos de una manera mucho más sencilla y eficaz: mediante las operaciones
JOIN, las cuales permiten combinar datos de dos tablas.
+2
El resultado será un conjunto de registros con los datos de las dos tablas. Este conjunto
poseerá el nombre de todos los campos de la tabla pedidos y de todos los campos de la
tabla clientes.
La operación INNER JOIN combina los datos de las dos tablas siempre que haya valores
coincidentes en los campos comunes
Combina pedidos y clientes, visualizando aquellos pedidos realizados antes del 6 de Enero
de 1997 por los campos fecha, codigo_producto, unidades, apellidos y nombre.
SELECT fecha, unidades, productos.* FROM pedidos INNER JOIN productos ON
pedidos.codigo_producto = productos.codigo_producto ORDER BY fecha, producto