SQL Avanzado Flashcards
Crear una tabla o vista x base de datos si no existe ya, con los encabezados a, b, c
CREATE table IF NOT EXISTS x (a, b, c)
o
CREATE view IF NOT EXISTS x (a, b, c)
Actualizar la columna ah con el valor a, para la fila con la columna bh con el valor b, de una tabla x base de datos
UPDATE x SET ah=’a’ WHERE bh=’b’;
Seleccionar todos los campos, de la fila con la columna ah con el valor a, de la tabla x base de datos
SELECT * FROM x WHERE ah=’a’;
Borrar la fila con la columna ah con el valor a, de la tabla x base de datos
DELETE FROM x WHERE ah=’a’;
Seleccionar las columnas ah bh, de las filas con el encabezado ch con valor c, de la tabla x base de datos
SELECT ah, bh FROM x WHERE ch=’c’;
Seleccionar todos los campos de la tabla x base de datos, ordenados ascendente por su columna ah
SELECT * FROM x ORDER BY ah;
Seleccionar todos los campos de la tabla x base de datos, ordenados alfabeticamente por su columna ah, ignorando mayusculas y minusculas
SELECT * FROM x ORDER BY ah COLLATE NOCASE;
Seleccionar todos los campos de la tabla x base de datos, ordenados descendente por su columna ah, y en caso de empate ordenados ascendente por su columna bh
SELECT * FROM x ORDER BY ah DESC, bh ASC;
ASC o en blanco
Seleccionar todos los campos de la tabla x base de datos, ordenados ascendente por su columna ah y su columna bh
SELECT * FROM x ORDER BY ah, bh;
Seleccionar las columnas ah, bh de la tabla x, ah de la tabla y base de datos, relacionando ambas tablas a traves de columna ch de tabla x y columna _bh de tabla y
SELECT x.ah, x.bh, y.ah FROM x JOIN y ON x.ch = y._bh;
JOIN e INNER JOIN es lo mismo
no es necesario poner . si no hay ambiguedad
Seleccionar todos los campos ah de las tablas x, y, z base de datos, relacionando x con y, y con z, a traves de columna bh de x con _ch de y, bh de y con _ch de z
SELECT z.ah, y.ah, x.ah FROM x
INNER JOIN y ON x.bh = y._ch
INNER JOIN z ON y.bh = z._ch;
Orden correcto sql de statements COLLATE, JOIN, ORDER BY, SELECT, WHERE
SELECT, JOIN, WHERE, ORDER BY, COLLATE
Seleccionar todos los campos de la tabla x base de datos, en los que la columna ah contenga a
SELECT * FROM x
WHERE x.ah LIKE ‘%a%’;
Se puede omitir x. si no hay ambiguedad
Seleccionar todos los campos de la tabla x base de datos, en los que la columna ah empiece por a
SELECT * FROM x
WHERE x.ah LIKE ‘a%’;
Se puede omitir x. si no hay ambiguedad
Borrar de la tabla x base de datos, las filas en que la columna ah cumple la condicion y
DELETE FROM x WHERE y;
Seleccionar todas las filas de la tabla x base de datos, en que la columna ah cumple la condicion y
SELECT * FROM x WHERE y;
Imprimir numero de filas de una tabla x base de datos
SELECT count(*) FROM x;
Seleccionar todos los campos de la columna ah sin duplicados, de la tabla o vista x base de datos
SELECT DISTINCT ah FROM x;
Contar todos los campos de la columna ah sin duplicados, de la tabla o vista x base de datos
SELECT count(DISTINCT ah) FROM x;
Seleccionar numero de ah con valor comun de bh de la tabla x
SELECT count(ah), bh
FROM x
GROUP BY bh;
Seleccionar numero de ah de cada bh de la tabla x, ordenada por ah descendiente
SELECT count(ah), bh
FROM x
GROUP BY bh
ORDER BY count(ah) DESC;
Seleccionar numero de ah de cada bh de la tabla x, con la condicion y
SELECT count(ah), bh
FROM x
GROUP BY bh
HAVING y;
Seleccionar numero de ah de cada bh de la tabla x, con la condicion y, ordenada por ah descendiente
SELECT count(ah), bh FROM x GROUP BY bh HAVING y ORDER BY count(ah) DESC;
Seleccionar media de ah, de la tabla x, con la condicion y
SELECT avg(ah)
FROM x
WHERE y;
Seleccionar suma de ah, de la tabla x, con la condicion y
SELECT sum(ah)
FROM x
WHERE y;
Seleccionar valor maximo en ah, de la tabla x, con la condicion y
SELECT max(ah)
FROM x
WHERE y;