Escolar Documentos
Profissional Documentos
Cultura Documentos
PARTE 2
COMANDOS
Comandos DLL
CREATE
Utilizado para crear nuevas tablas, campos e ndices
DROP
Empleado para eliminar tablas e ndices
ALTER
Utilizado para modificar las tablas agregando
campos o cambiando la definicin de los campos.
Comandos DML
SELECT
Utilizado para consultar registros de la base de datos
que satisfagan un criterio determinado
INSERT
Utilizado para cargar lotes de datos en la base de
datos en una nica operacin.
UPDATE
Utilizado para modificar los valores de los campos y
registros especificados
DELETE
Utilizado para eliminar registros de una tabla de una
base de datos
Clusulas
Las clusulas son condiciones de modificacin
utilizadas para definir los datos que desea
seleccionar o manipular.
FROM: Utilizada para especificar la tabla de la cual
se van a seleccionar los registros
WHERE: Utilizada para especificar las condiciones
que deben reunir los registros que se van a
seleccionar
GROUP BY: Utilizada para separar los registros
seleccionados en grupos especficos
HAVING: Utilizada para expresar la condicin que
debe satisfacer cada grupo
ORDER BY: Utilizada para ordenar los registros
OPERADORES
lgicos:
AND, OR, NOT
de comparacin:
< , > , <> , = , <= , >= , between,
like, in
Funciones
de Agregado
devolver
el
nmero
de
CONSULTAS DE SELECCION
La sintaxis bsica de una consulta de seleccin es la
siguiente:
SELECT Campos FROM Tabla;
En donde campos es la lista de campos que se
desean recuperar y tabla es el origen de los mismos,
por ejemplo:
SELECT Nombre, Telefono FROM Clientes;
campos
Like modelo
Tipo de coincidencia
Modelo
Planteado
Coincide
No coincide
Varios caracteres
'a*a'
'aa',
'aBBBa'
Carcter especial
'a[*]a'
'a*a'
'aaa'
Varios caracteres
'ab*'
'abcdefg', 'abc'
'cab', 'aab'
Un solo carcter
'a?a'
'aaa',
'aBa'
'a3a', 'aBBBa'
Un solo dgito
'a#a'
'a0a',
'a2a'
Rango de caracteres
'[a-z]'
'2', '&'
Fuera de un rango
'[!a-z]'
'b', 'a'
Distinto de un dgito
'[!0-9]'
Combinada
'a[!b-m]#'
'An9',
'a99'
'aBa', 'aBC'
Operador In
Clusula WHERE
Si no se emplea esta clusula, la consulta devolver todas las filas
de la tabla. WHERE es opcional, pero cuando aparece debe ir a
continuacin de FROM.
SELECT Apellidos, Salario FROM Empleados WHERE
Salario > 2100;
SELECT Id_Producto, Existencias FROM Productos WHERE
Existencias <=NuPedi;
SELECT * FROM Pedidos WHERE Fecha_Envio = #5/10/02#;
SELECT Apellidos, Nombre FROM Empleados WHERE
Apellidos = 'King';
SELECT Apellidos, Nombre FROM Empleados WHERE
Apellidos Like 'S*';
GROUP BY
SELECT campos FROM tabla WHERE criterio
GROUP BY campos-del-grupo
HAVING condicin;
SELECT Id_Familia, Sum(Stock) FROM Productos
GROUP BY Id_Familia;
SELECT Id_Familia, Sum(Stock) FROM Productos
GROUP BY Id_Familia
HAVING Sum(Stock) > 100;
SQL
Parte II
Consultas de Accin
Las consultas de accin son aquellas que no devuelven ningn
registro, son las encargadas de acciones como aadir, borrar y
modificar registros.
DELETE
INSERT INTO
UPDATE
DELETE
Crea una consulta de eliminacin que elimina los registros de una o
ms de las tablas listadas en la clusula FROM que satisfagan la
clusula WHERE. Esta consulta elimina los registros completos, no
es posible eliminar el contenido de algn campo en concreto.
DELETE Tabla.* FROM Tabla WHERE criterio
DELETE * FROM Empleados WHERE Cargo = 'Vendedor';
DELETE es especialmente til cuando se desea eliminar varios registros.
Si desea eliminar valores en un campo especificado, crear una consulta de
actualizacin que cambie los valores a Null.
No se puede deshacer la operacin. Es conveniente primero examinar los resultados de una
consulta de seleccin que utilice el mismo criterio y despus ejecutar la consulta de borrado.
Mantenga copias de seguridad de sus datos en todo momento.
Si elimina los registros equivocados podr recuperarlos desde las copias de seguridad.
DELETE CLIENTES.*
FROM CLIENTES
WHERE CLIENTES.codcliente > 2000;
INSERT INTO
Agrega un registro en una tabla. Esta consulta puede:
Insertar un nico registro
Insertar en una tabla los registros contenidos en otra tabla.
Para insertar un nico Registro:
INSERT INTO Tabla (campo1, campo2, .., campoN) VALUES
(valor1, valor2, ..,valorN)
Para insertar Registros de otra Tabla:
INSERT INTO Tabla [IN base_externa] (campo1, campo2, ...,
campoN) SELECT TablaOrigen.campo1, TablaOrigen.campo2, ...,
TablaOrigen.campoN FROM TablaOrigen
La condicin SELECT puede incluir la clusula WHERE para filtrar los registros a copiar.
Ejemplos
FROM
UPDATE
Crea una consulta de actualizacin que cambia los valores de los
campos de una tabla especificada basndose en un criterio
especfico.
UPDATE Tabla SET Campo1=Valor1,
CampoN=ValorN WHERE Criterio;
Campo2=Valor2,
...
El ejemplo siguiente incrementa los valores Cantidad pedidos en un 10 por ciento y los
valores Transporte en un 3 por ciento para aquellos que se hayan enviado al Reino
Unido.:
Otros ejemplos
UPDATE Empleados SET Grado = 5 WHERE Grado = 2;
UPDATE Productos SET Precio = Precio * 2 WHERE Prov = 8
AND Familia = 3;
Si en una consulta de actualizacin suprimimos la clusula WHERE todos los registros de
la tabla sealada sern actualizados.
SELECT campos
FROM tb1 INNER JOIN
(tb2 INNER JOIN
[( ]tb3 [INNER JOIN
[( ]tablax [INNER JOIN ...)]
ON tb3.campo3 comp tbx.campox)]
ON tb2.campo2 comp tb3.campo3)
ON tb1.campo1 comp tb2.campo2;
SELECT MOVIMIENTOS.NUMDOC,
MOVIMIENTOS.DOMINIO, VEHICULOS.MARCA,
VEHICULOS.MODELO, CLIENTES.Apellido
FROM CLIENTES INNER JOIN
(VEHICULOS INNER JOIN MOVIMIENTOS
ON VEHICULOS.DOMINIO =MOVIMIENTOS.DOMINIO)
ON CLIENTES.Codcliente = MOVIMIENTOS.CODCLIENTE;
LEFT JOIN
RIGHT JOIN
SELECT campos FROM tb1 RIGHT JOIN tb2 ON tb1.campo1
comp tb2.campo2
RIGHT realiza la misma operacin pero al contrario, toma todos
los registros de la tabla de la derecha aunque no tenga ningn
registro en la tabla de la izquierda.
2000
2001
Pantalones
1250
3000
Camisas
8560
1253
Zapatos
4369
2563
Pedidos
Id
1
2
3
1
2
3
1
2
3
Fecha
1
11/11/2000
2
11/11/2000
3
11/11/2000
12/10/2000
50
04/05/2000
250
05/08/2000
100
01/01/2001
40
02/08/2001
60
05/10/2001
70
12/12/2001
8
15/12/2001
520
17/10/2001
1250
Cantidad
250
125
520
La consulta sera:
348
Pantalones 2
580
955
Blusas
1940
Media
87
2000
300
238,75
485
48
375
620
1320