0% encontró este documento útil (0 votos)
24 vistas2 páginas

Introducción A SQL

Separata Bada -
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
24 vistas2 páginas

Introducción A SQL

Separata Bada -
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 2

JOIN

La sentencia SQL JOIN se utiliza para relacionar varias tablas. Nos permitirá obtener un listado de los 004
campos que tienen coincidencias en ambas tablas: COMANDOS DE MAYOR USO EN SQL
select nombre, telefono, accion, cantidad from clientes join acciones on clientes.cid=acciones.cid;
LEFT JOIN Clausula WHERE

La sentencia LEFT JOIN nos dará el resultado anterior mas los campos de la tabla de la izquierda del La cláusula WHERE puede usarse para determinar qué registros de las tablas enumeradas en la cláu-
JOIN que no tienen coincidencias en la tabla de la derecha: sula FROM aparecerán en los resultados de la instrucción SELECT. WHERE es opcional, pero cuando
aparece debe ir a continuación de FROM:
select nombre, telefono, accion, cantidad from clientes left join acciones on clientes.cid=acciones.cid;
RIGHT JOIN SELECT Apellidos, Salario FROM Empleados
WHERE Salario > 21000;
Identico funcionamiento que en el caso anterior pero con la tabla que se incluye en la consulta a la SELECT Id_Producto, Existencias FROM Productos
derecha del JOIN: WHERE Existencias <= Nuevo_Pedido;
__________________________________________________________________________________
select nombre, telefono, accion, cantidad from clientes right join acciones on clientes.cid=acciones.cid; INSERT
__________________________________________________________________________________ Una sentencia INSERT de SQL agrega uno o más registros a una (y sólo una) tabla en una base de
UNION y UNION ALL datos relacional.
Forma básica:
Podemos combinar el resultado de varias sentencias con UNION o UNION ALL. UNION no nos mues- INSERT INTO ''tabla'' (''columna1'', [''columna2,... '']) VALUES (''valor1'', [''valor2,...''])
tra los resultados duplicados, pero UNION ALL si los muestra: __________________________________________________________________________________
UPDATE
select nombre, telefono, accion, cantidad from clientes left join acciones on clientes.cid=acciones.cid
where accion is null union select nombre, telefono, accion, cantidad from clientes right join acciones on Una sentencia UPDATE de SQL es utilizada para modificar los valores de un conjunto de registros
clientes.cid=acciones.cid where nombre is null; existentes en una tabla.
__________________________________________________________________________________ Ejemplo:
Vistas.
UPDATE mi_tabla SET campo1 = 'nuevo valor campo1' WHERE campo2 = 'N';
Las vistas (“views”) en SQL son un mecanismo que permite generar un resultado a partir de una con- __________________________________________________________________________________
sulta (query) almacenado, y ejecutar nuevas consultas sobre este resultado como si fuera una tabla DELETE
normal. Las vistas tienen la misma estructura que una tabla: filas y columnas. La única diferencia es
que sólo se almacena de ellas la definición, no los datos. DELETE de SQL borra uno o más registros existentes en una tabla.
Forma básica:
La cláusula CREATE VIEW permite la creación de vistas. La cláusula asigna un nombre a la vista y
permite especificar la consulta que la define. Su sintaxis es: DELETE FROM 'tabla' WHERE 'columna1' = 'valor1'
__________________________________________________________________________________
CREATE VIEW id_vista [(columna,…)]AS especificación_consulta; ALTER

Este comando permite modificar la estructura de un objeto. Se pueden agregar/quitar campos a una
tabla, modificar el tipo de un campo, agregar/quitar índices a una tabla, modificar un trigger, etc.
Ejemplo (agregar columna a una tabla):

ALTER TABLE 'NOMBRE_TABLA' ADD NUEVO_CAMPO INT;


ALTER TABLE 'NOMBRE_TABLA' DROP COLUMN NOMBRE_COLUMNA;

Página 04 Página 01
DROP AVG
Este comando elimina un objeto de la base de datos. Puede ser una tabla, vista, índice, trigger, fun-
ción, procedimiento o cualquier otro objeto que el motor de la base de datos soporte. Se puede combi- Calcula la media aritmética de un conjunto de valores contenidos en un campo especificado de una
nar con la sentencia ALTER. consulta:
Ejemplo:
Avg(expr)
DROP TABLE 'NOMBRE_TABLA'; La función Avg no incluye ningún campo Null en el cálculo. Un ejemplo del funcionamiento de AVG:
DROP SCHEMA 'ESQUEMA;'
DROP DATABASE 'BASEDATOS'; SELECT Avg(Gastos) AS Promedio FROM
__________________________________________________________________________________ Pedidos WHERE Gastos > 100;
__________________________________________________________________________________
TRUNCATE
Este comando trunca todo el contenido de una tabla. La ventaja sobre el comando DROP, es que si se MAX, MIN
quiere borrar todo el contenido de la tabla, es mucho más rápido, especialmente si la tabla es muy Devuelven el mínimo o el máximo de un conjunto de valores contenidos en un campo especifico de
grande. La desventaja es que TRUNCATE sólo sirve cuando se quiere eliminar absolutamente todos una consulta. Su sintaxis es:
los registros, ya que no se permite la cláusula WHERE. Si bien, en un principio, esta sentencia parece-
ría ser DML (Lenguaje de Manipulación de Datos), es en realidad una DDL, ya que internamente, el Min(expr)
comando TRUNCATE borra la tabla y la vuelve a crear y no ejecuta ninguna transacción. Max(expr)
Un ejemplo de su uso:
Ejemplo:
SELECT Min(Gastos) AS ElMin FROM Pedidos
TRUNCATE TABLE 'NOMBRE_TABLA'; WHERE Pais = 'Costa Rica';
Operadores Lógicos SELECT Max(Gastos) AS ElMax FROM Pedidos
Los operadores lógicos soportados por SQL son: WHERE Pais = 'Costa Rica';
AND, OR, XOR, Eqv, Imp, Is y Not.
SELECT * FROM Empleados WHERE Edad > 25 AND Edad < 50; __________________________________________________________________________________
SELECT * FROM Empleados WHERE (Edad > 25 AND Edad < 50) OR Sueldo = 100; SUM
SELECT * FROM Empleados WHERE NOT Estado = 'Soltero';
SELECT * FROM Empleados WHERE (Sueldo > 100 AND Sueldo < 500) OR (Provincia = 'Madrid' Devuelve la suma del conjunto de valores contenido en un campo especifico de una consulta. Su sin-
AND Estado = 'Casado'); taxis es: Sum(expr) Por ejemplo:
__________________________________________________________________________________
Operador BETWEEN SELECT Sum(PrecioUnidad * Cantidad)
AS Total FROM DetallePedido;
Para indicar que deseamos recuperar los registros según el intervalo de valores de un campo emplea- __________________________________________________________________________________
remos el operador Between: GROUP BY
Combina los registros con valores idénticos, en la lista de campos especificados, en un único registro:
SELECT * FROM Pedidos WHERE CodPostal Between 28000 And 28999;
(Devuelve los pedidos realizados en la provincia de Madrid) SELECT campos FROM tabla WHERE criterio
GROUP BY campos del grupo
SELECT IIf(CodPostal Between 28000 And 28999, 'Provincial', 'Nacional') FROM Editores; Todos los campos de la lista de campos de SELECT deben o bien incluirse en la cláusula GROUP BY
(Devuelve el valor 'Provincial' si el código postal se encuentra en el intervalo,'Nacional' en caso contra- o como argumentos de una función SQL agregada:
rio)
SELECT Id_Familia, Sum(Stock)
__________________________________________________________________________________
FROM Productos GROUP BY Id_Familia;
Operador IN
HAVING es similar a WHERE, determina qué registros se seleccionan. Una vez que los registros se
han agrupado utilizando GROUP BY, HAVING determina cuales de ellos se van a mostrar.
Este operador devuelve aquellos registros cuyo campo indicado coincide con alguno de los indicados
en una lista. Su sintaxis es: expresión [Not] In(valor1, valor2, . . .)
SELECT Id_Familia Sum(Stock) FROM Productos GROUP BY Id_Familia HAVING Sum(Stock) > 100
AND NombreProducto Like BOS*;
SELECT * FROM Pedidos WHERE Provincia In ('Madrid', 'Barcelona', 'Sevilla');
Agrupamiento de registros (Agregación)
Página 02 Página 03

También podría gustarte