Lenguaje SQL

Lenguaje SQL

 Estructura Básica de una Consulta SQL

La mayoría de las consultas SQL siguen una estructura general:

sql
CopiarEditar
SELECT columnas
FROM tabla
WHERE condiciones
GROUP BY columnas
HAVING condiciones_agrupadas
ORDER BY columnas ASC|DESC
LIMIT cantidad;


SELECT: Define las columnas que deseas recuperar.
FROM: Especifica la tabla o tablas de donde se obtendrán los datos.
WHERE: Filtra los resultados según ciertas condiciones.
GROUP BY: Agrupa los resultados basados en una o más columnas.
HAVING: Filtra grupos de resultados (usado junto con GROUP BY).
ORDER BY: Ordena los resultados de forma ascendente (ASC) o descendente (DESC).
LIMIT: Restringe el número de filas devueltas.

Consultas de Manipulación de Datos (DML)

Estas consultas se utilizan para manejar los datos dentro de las tablas.

INSERT: Inserta nuevos registros en una tabla.

INSERT INTO tabla (columna1, columna2, ...)
VALUES (valor1, valor2, ...);


UPDATE: Actualiza datos existentes.

UPDATE tabla
SET columna = valor
WHERE condición;


DELETE: Elimina registros de una tabla.

DELETE FROM tabla
WHERE condición;

Consultas de Manipulación de Datos (DML)

Estas estructuras modifican la estructura de la base de datos (tablas, índices, etc.).

CREATE: Crea nuevas tablas, bases de datos o índices.

CREATE TABLE tabla (
columna1 tipo_dato restricciones,
columna2 tipo_dato restricciones
);


ALTER: Modifica la estructura de una tabla existente.

ALTER TABLE tabla
ADD columna tipo_dato;


DROP: Elimina tablas, bases de datos o índices.

DROP TABLE tabla;


TRUNCATE: Elimina todos los datos de una tabla (más rápido que DELETE).

TRUNCATE TABLE tabla;

Consultas de Control de Datos (DCL)

Se usan para gestionar permisos y accesos a las bases de datos.

GRANT: Otorga permisos a usuarios.

GRANT SELECT, INSERT ON tabla TO usuario;


REVOKE: Retira permisos previamente otorgados.

REVOKE SELECT ON tabla FROM usuario;

 Consultas de Control de Transacciones (TCL)

Estas consultas controlan las transacciones en las bases de datos.

COMMIT: Guarda los cambios realizados durante la transacción.

COMMIT;


ROLLBACK: Revierte los cambios realizados durante la transacción.

ROLLBACK;


SAVEPOINT: Crea un punto de restauración dentro de una transacción.

SAVEPOINT punto1;

 Consultas Avanzadas

Para consultas más complejas, se combinan las estructuras básicas y avanzadas:

JOIN: Combina datos de varias tablas.

SELECT columnas
FROM tabla1
INNER JOIN tabla2 ON tabla1.columna = tabla2.columna;


Tipos: INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL JOIN.
Subconsultas: Consultas anidadas dentro de otra consulta.

SELECT columna
FROM tabla
WHERE columna IN (SELECT columna FROM otra_tabla);


Funciones de agregación: Realizan cálculos sobre un conjunto de datos.

Ejemplos: COUNT(), SUM(), AVG(), MAX(), MIN().



CTEs (Common Table Expressions): Consultas temporales reutilizables.

WITH cte AS (
SELECT columna
FROM tabla
WHERE condición
)
SELECT * FROM cte;

Filtrado y Condiciones

El filtrado de datos se realiza principalmente con el WHERE, combinando operadores lógicos y de comparación:

Operadores lógicos: AND, OR, NOT.
Operadores de comparación: =, <>, >, <, >=, <=.


Operadores especiales

LIKE: Filtra por patrones.

SELECT * FROM tabla WHERE columna LIKE 'A%';


IN: Busca valores específicos.
SELECT * FROM tabla WHERE columna IN (valor1, valor2);


BETWEEN: Rango de valores.
SELECT * FROM tabla WHERE columna BETWEEN 10 AND 20;


IS NULL: Filtra valores nulos.
SELECT * FROM tabla WHERE columna IS NULL;

Obra publicada con Licencia Creative Commons Reconocimiento Compartir igual 4.0

Creado con eXeLearning (Ventana nueva)