SQL
Para acceder y manipular la información en un sistema de gestión de base de datos (SGBD) se utiliza SQL.
SQL expone 4 tipo de operaciones:
SELECT
para listar registros de las tablas.INSERT
para insertar registros.UPDATE
para actualizar registros.DELETE
para eliminar registros.
SQL no diferencia entre mayúsculas y minúsculas.
SELECT
es lo mismo que select
;La sintaxis más simple del
SELECT
es la siguiente:SELECT <columnas> FROM <tabla>;
Si quieres mostrar todas las columnas de la tabla utiliza
*
. Por ejemplo:SELECT * FROM rooms;
SELECT hotel_id, number FROM rooms;
Puedes agregar condiciones con
WHERE
:SELECT * FROM rooms WHERE hotel_id = 3;
La sintaxis para insertar un registro es la siguiente:
INSERT INTO <tabla> (<columnas>) VALUES (<valores>);
Por ejemplo:
INSERT INTO rooms (hotel_id, number, size, price) VALUES (2, 405, 45, 500);
La sintaxis para actualizar registros es la siguiente:
UPDATE <tabla> SET <campo1>=<valor1>, <campo2>=<valor2> WHERE <condiciones>;
Por ejemplo:
UPDATE rooms SET number='406' WHERE id = 1;
La sintaxis para eliminar registros es la siguiente:
DELETE FROM <tabla> WHERE <condiciones>;
Por ejemplo:
DELETE FROM rooms;
DELETE FROM rooms WHERE size > 200;
Las sentencias SELECT se pueden utilizar para hacer consultas complejas a la Base de Datos.
Se utiliza cuando el
WHERE
tiene dos o más condiciones en donde todas se deben cumplir.SELECT column1, column2, ...
FROM table_name
WHERE condition1 AND condition2 AND condition3 ...;
Se utiliza cuando el
WHERE
tiene dos o más condiciones en donde alguna se debe cumpliar:SELECT column1, column2, ...
FROM table_name
WHERE condition1 OR condition2 OR condition3 ...;
Puedes mezclar
AND
y OR
pero debes utilizar paréntesis para agrupar donde sea necesario.Se utiliza para limitar el número de registros que retorna la consulta.
SELECT column1, column2, ...
FROM table_name
LIMIT 10
Se utiliza para saltar un número determinado de registros. Generalmente se utiliza en conjunto con
LIMIT
para paginar:SELECT column1, column2, ...
FROM table_name
LIMIT 10
OFFSET 50
Se utiliza para ordenar los resultados de forma ascendente o descendente por uno o más campos de la consulta.
SELECT column1, column2, ...
FROM table_name
ORDER BY column1, column2, ... ASC;
En vez de
ASC
(ascendente) puedes utilizar DESC
(descendente).Se utiliza para agrupar registros por uno o más campos.
SELECT column1, column2, ...
FROM table_name
GROUP BY column1, column2, ...
Generalmente se usa en conjunto a alguna de las siguiente funciones:
COUNT
, MAX
, MIN
, SUM,
AVG`.Se utiliza para contar los registros de una consulta:
SELECT COUNT(column_name)
FROM table_name;
Selecciona el menor valor de una columna:
SELECT MIN(column_name)
FROM table_name;
Selecciona el mayor valor de una columna:
SELECT MAX(column_name)
FROM table_name;
Se utiliza para sumar los valores de una columna:
SELECT SUM(column_name)
FROM table_name;
Se utiliza para sacar el promedio de los valores de una columna:
SELECT AVG(column_name)
FROM table_name;
Se utilizan para unir información de dos o más tablas.
La sintaxis básica de un
JOIN
es la siguiente:SELECT column1, column2, ...
FROM table1 JOIN table2 ON table1.column1 = table2.column2
Existen diferentes tipos de
JOIN
:JOIN
(oINNER JOIN
): muestra los registros que tienen coincidencias en las dos tablas.LEFT JOIN
: muestra todos los registros de la tabla izquierda, y los que coincidan a la derecha. Este es elJOIN
más común.RIGHT JOIN
: muestra todos los registros de la tabla derecha, y los que coincidan a la izquierda.FULL JOIN
: muestra todos los registros de las dos tablas.

JOIN

LEFT JOIN

RIGHT JOIN

FULL JOIN
Last modified 2mo ago