Conceptos Esenciales de SQL: Comandos, Sintaxis y Ejemplos Prácticos
Fundamentos de SQL: Preguntas y Respuestas Clave
Comandos SQL Esenciales
- ¿Qué significan las iniciales SQL? Structured Query Language.
- Comando usado para crear tablas en SQL:
CREATE
. WHERE
es un operador usado en SQL. Falso (es una cláusula).- SQL distingue entre mayúsculas y minúsculas en comandos. Falso.
- ¿Cuál NO es un tipo de datos de Oracle?
INT
. - Tipo de restricción que se utiliza para marcar claves ajenas:
REFERENCES
. - ¿Qué comando NO pertenece al lenguaje DML?
CREATE
. - Comando y sentencia para seleccionar todos los resultados de una búsqueda:
SELECT *
. - Cláusula para limitar el resultado de una búsqueda a unas condiciones concretas:
WHERE
. - Si una consulta hace uso de la cláusula
ORDER BY
, los valores se mostrarán, por defecto, en orden descendente. Falso (por defecto es ascendente). - En una consulta, por defecto, los datos nulos se colocan al final. Verdadero.
- ¿Cuál NO es una función de agregado?
MID
. - Símbolo que se usa seguido del “=” para indicar que vamos a trabajar con una variable de sustitución:
&
. - ¿Qué tipo de Operador es “
AND
“? Lógico. - ¿Cuál no es un tipo de operador? Igualación.
- ¿Qué se utiliza para concatenar campos?
||
. - Entre los siguientes operadores, ¿cuál se ejecutaría primero?
NOT
. - Función que devuelve la fecha actual incluyendo la hora:
SYSTIMESTAMP
.
Consultas Multitabla y Joins en SQL
- ¿Cuál NO es una cláusula usada para unir varias tablas en una búsqueda?
UPPER JOIN
. - En una consulta multitabla, las tablas que se utilizan y su relación aparecen: En la cláusula
FROM
. - Las composiciones externas pueden ser del tipo:
LEFT JOIN
,RIGHT JOIN
,FULL OUTER JOIN
. (Respuesta: Todas las anteriores). - Las composiciones internas pueden ser del tipo:
INNER JOIN
. - Cláusula que comprueba si una subconsulta devuelve algún valor:
EXISTS
.
Comandos DML y Manipulación de Datos
- ¿Qué comando NO es DML?
MODIFY
. - El nombre de los campos a insertar es obligatorio. No, si se indican todos los campos y están en el mismo orden.
- El comando
UPDATE
necesita una cláusulaWHERE
. Falso (es opcional, pero sin ella actualiza todos los registros). DELETE FROM "NombreTabla"
: Borrará todos los registros de esa tabla.- Es posible usar el resultado de un
SELECT
como parámetro para unINSERT
/UPDATE
/DELETE
. Verdadero.
Categorías de Comandos SQL
DDL (Data Definition Language)
Son comandos que se utilizan para definir y gestionar la estructura de la base de datos, incluyendo la creación, modificación y eliminación de objetos como tablas y restricciones.
CREATE
ALTER
DROP
TRUNCATE
CONSTRAINTS
(se define conCREATE TABLE
oALTER TABLE
)
DML (Data Manipulation Language)
Está formado por comandos para acceder y manipular la información contenida en las tablas de la base de datos, permitiendo modificar, añadir o borrar datos.
SELECT
INSERT
DELETE
UPDATE
DCL (Data Control Language)
Permite asignar permisos a usuarios y roles (GRANT
) o revocarlos (REVOKE
) mediante la utilización de sus comandos.
GRANT
REVOKE
Diferencias Clave en SQL
WHERE
vs. HAVING
La cláusula WHERE
se utiliza para filtrar registros individuales, mientras que la cláusula HAVING
se utiliza para filtrar grupos de registros basados en valores de agregación.
ALTER
vs. MODIFY
vs. UPDATE
ALTER
se utiliza para modificar la estructura de una tabla (ej. añadir/eliminar columnas).MODIFY
se utiliza para modificar la definición de una columna existente en una tabla (ej. cambiar tipo de dato, tamaño).UPDATE
se utiliza para modificar el contenido de las filas en una tabla.
Sintaxis y Conceptos Fundamentales de SQL
Sintaxis Básica de SQL
- No distingue mayúsculas y minúsculas en los comandos (aunque sí en los datos, dependiendo de la configuración).
- Se recomienda colocar
;
al final de cada instrucción para delimitarla. - Se permite la inserción de espacios o saltos de línea para mejorar la legibilidad.
- Los comentarios se pueden añadir usando
/* Comentario */
para bloques o-- Comentario
para una línea. - La estructura general sigue el patrón: Comando + Cláusula + Operadores + Funciones.
Conceptos Clave
Primary Key (Clave Primaria)
Restricción que asegura que no haya valores repetidos o nulos en una o varias columnas de una tabla, utilizada para identificar de forma única cada registro.
Foreign Key (Clave Foránea)
Restricción que se establece en una o varias columnas de una tabla para establecer una relación con otra tabla y garantizar la integridad referencial entre ellas.
Funciones de Sistema
Funciones integradas en SQL o en el sistema de gestión de bases de datos que permiten realizar operaciones complejas con datos, como cálculos matemáticos, manipulación de cadenas o fechas.
SYSDATE
Función de sistema en Oracle que devuelve la fecha y hora actuales del sistema.
MAX
Función de agregación en SQL utilizada para obtener el valor máximo en una columna.
AVG
(AVERAGE)
Función de agregación en SQL utilizada para calcular el promedio de los valores en una columna.
Ejemplos Prácticos de Consultas SQL
Consultas de Selección y Filtrado
Búsqueda de productos con precio inferior a 100€
SELECT * FROM producto WHERE precio < 100;
Búsqueda de productos ordenados por precio ascendente
SELECT * FROM producto ORDER BY precio ASC;
Búsqueda de productos por fabricante
SELECT * FROM producto WHERE id_fabricante = 4;
Ejemplos de Inserción y Modificación
Inserción de un nuevo departamento ‘SciFi’
INSERT INTO department VALUES (504, 'SciFi');
Añadir una restricción CHECK
para la edad
ALTER TABLE Customers ADD CHECK (Age BETWEEN 0 AND 99);
Consultas Avanzadas y Agregación
Precio medio de productos por fabricante
SELECT id_fabricante, AVG(precio) FROM producto GROUP BY id_fabricante;
Producto con el precio más alto
SELECT * FROM producto WHERE precio >= ALL (SELECT precio FROM producto);
Combinar nombres de productos y fabricantes
SELECT nombre FROM producto UNION SELECT nombre FROM fabricante;
Tipos de Joins en SQL
Composición Externa (Outer Join)
La composición externa se utiliza para combinar dos tablas y mostrar los registros que coinciden en ambas, pero también puede incluir los registros que no tienen una coincidencia en la otra tabla.
LEFT OUTER JOIN
Devuelve todos los registros de la tabla izquierda y los registros coincidentes de la tabla derecha. Si no hay coincidencia en la tabla derecha, los valores serán NULL
.
RIGHT OUTER JOIN
Devuelve todos los registros de la tabla derecha y los registros coincidentes de la tabla izquierda. Si no hay coincidencia en la tabla izquierda, los valores serán NULL
.
Composición Interna (Inner Join)
La composición interna se utiliza para combinar dos tablas y mostrar solo los registros que tienen valores coincidentes en ambas tablas.
INNER JOIN
Devuelve solo los registros que tienen valores coincidentes en ambas tablas.
CROSS JOIN
Devuelve el producto cartesiano de dos tablas, es decir, combina cada fila de la primera tabla con todas las filas de la segunda tabla.