Consultas SQL en Access: Ejemplos Prácticos de SELECT, JOIN, Subconsultas y DDL

Arts and Humanities3.33 KB

Consultas SQL: ejemplos prácticos

(selección de selección)

*SELECT TOP 20 PERCENT provincia, población
FROM provincia WHERE provincia LIKE "a*a";

*SELECT nombre + "alimentación" + alimentación AS [alimentación]
FROM animales WHERE clase = "Aves" OR clase = "Mamíferos";
ORDER BY clase DESC;

*SELECT nombre, clase
FROM animales WHERE nombre LIKE "?a*a??" ORDER BY nombre DESC;

Consultas con INNER JOIN

(Dime el nombre del cuidador que cuida al tigre)

*SELECT cuidador.nombre
FROM cuidador INNER JOIN animales ON cuidador.idempleado = animales.idcuidador
WHERE animales.nombre = "tigre";

(Consulta compleja)

*SELECT cuidador.nombre
FROM cuidador INNER JOIN animales ON cuidador.idempleado = animales.idcuidador
WHERE alimentación = "Carnívoros";

Consulta de resumen

*SELECT medio, MAX(patas) AS [Nº de patas],
AVG(patas) AS [Media de patas], SUM(patas) AS [Suma de patas]
FROM animales GROUP BY medio HAVING SUM(patas) > 40;

Referencias cruzadas

(Fila = GROUP BY / Columna = PIVOT / Total = TRANSFORM)

*TRANSFORM COUNT(nombre)
SELECT clase FROM animales WHERE alimentación LIKE "p*"
GROUP BY clase PIVOT alimentación;

Subconsultas

*SELECT provincia, población FROM provincia
WHERE población > (SELECT MAX(población) FROM provincia WHERE provincia LIKE "a*");

Inserción de registros

*INSERT INTO animales
SELECT * FROM animales
WHERE clase = "Mamíferos" AND alimentación = "Carnívoros";

Consulta de actualización

*UPDATE cuidadores INNER JOIN animales ON cuidadores.idempleado = animales.idcuidadores
SET salario = [salario] * 1.30
WHERE animales.nombre LIKE "*a*a*" AND clase = "Aves";

Consulta de borrado

*DELETE * FROM animales WHERE nombre LIKE "*e*e*";

Creación de tablas

CREATE TABLE tabla3 (
c1 VARCHAR(10) REFERENCES tabla1,
c2 VARCHAR(10) REFERENCES tabla2,
CONSTRAINT pk1 PRIMARY KEY (c1, c2));

DDL: restricciones de tipo 1

CREATE TABLE Clientes (
Codigo AUTOINCREMENT(1,1) PRIMARY KEY,
NIF CHAR(9) UNIQUE,
NOM VARCHAR(40) NOT NULL,
FechaAlta DATE,
CodigoPro INT REFERENCES Producto;

DDL: restricciones de tipo 2

CREATE TABLE Clientes (
Codigo AUTOINCREMENT(1,1),
NIF CHAR(9),
NOM VARCHAR(40) NOT NULL,
FechaAlta DATE,
CodigoPro INT,
CONSTRAINT PK1 PRIMARY KEY (Codigo),
UNIQUE (NIF),
FOREIGN KEY (CodigoPro) REFERENCES Productos);

Download

PDF Word HTML