Una base de datos relacional que esta escrita en lenguaje SQL (Structured Query Language o lenguaje de consulta estructurado) es el lenguaje estándar para las bases de datos.
¿Qué puede hacer SQL?
- Ejecutar consultas.
- Recuperar datos.
- Insertar, actualizar y eliminar registros.
- Crear nuevas bases de datos, tablas, procedimientos y vistas.
- Establecer permisos en tablas, procedimientos y vistas.
Los comandos de SQL se dividen 5 tipos:
1) DDL (Data Definition Language): definen el esquema o estructura de la base de datos. Ejemplos:
- CREATE (crear)
- ALTER (alterar)
- DROP (eliminar objetos)
- RENAME (renombrar)
- TRUNCATE (quitar todos los registros de una tabla y espacios de los registros eliminados)
- COMMENT (comentar)
2) DQL (Data Query Language): sirven para hacer consultas sobre los datos en el esquema de objetos.
- SELECT (recuperar registros)
3) DML (Data Manipulation Language): tratan la manipulación de los datos presentes en la base de datos. Ejemplos:
- INSERT (insertar un objeto)
- DELETE (eliminar registros)
- UPDATE (actualizar)
- CALL
- MERGE (inserta, elimina y actualiza)
- LOCK TABLE (bloquear tabla)
- EXPLAIN PLAN (determina el plan de acceso)
4) DCL (Data Control Language): se encargan de los derechos, los permisos y otros controles de la base de datos. Ejemplos:
- GRANT (acceso a un usuario)
- REVOKE (revocar el derecho de accceso a un usuario)
5) TCL (Transaction Control Language): con estos comandos se puede llevar un control sobre otros comandos. Ejemplos:
- COMMIT (realizar una transacción)
- ROLLBACK (revertir una transacción en caso de que ocurra un error)
- SAVEPOINT (punto de rescate dentro de una transacción)
Comandos Principales:
SELECT: Selección de los campos (columnas) para hacer el análisis o para sintetizar la tabla de origen. Cada columna se separa con una coma.
Cláusulas:
FROM: Tabla donde se almacena la información.
WHERE: Especificar las condiciones.
GROUP BY: Campos (columnas) de agrupación.
ORDER BY: Campos (columnas) de ordenación.
Operadores lógicos:
AND: Une varias condiciones que tienen que ser cumplidas para obtener resultados.
OR: Evalúa dos o mas condiciones y obtienes resultados si una de ellas se cumple.
NOT: Excluye un valor de la información a obtener.
Funciones de agregación:
AVG: Promedio (average) de un campo (columna).
COUNT: Recuento de valores de una columna.
DISTINCT: Encontrar valores únicos.
SUM: Suma de valores de una columna.
MAX: Valor más alto de una columna.
MIN: Valor más bajo de una columna.
Preguntas frecuentes en entrevistas de trabajo:
1- Encontrar el segundo salario más alto de los empleados:
SELECT MAX(Salary) from Employee WHERE Salary NOT IN (select MAX(Salary) from Employee );
2- Encontrar el salario máximo de cada departamento:
SELECT DeptID, MAX(Salary) FROM Employee GROUP BY DeptID;
3- Mostrar la fecha actual:
SELECT GetDate();
4- Comprobar si la fecha pasada a la consulta es la fecha del formato dado o no.
SELECT ISDATE(‘8/11/20’) AS “MM/DD/YY”;
5- Imprimir el nombre del empleado cuya fecha de nacimiento es entre el 01/01/1960 al 31/12/1975.
SELECT DISTINCT EmpName FROM Employees WHERE DOB BETWEEN ‘01/01/1960’ AND ‘31/12/1975’ ;
6- Encontrar el número de empleados según el género cuya fecha de nacimiento sea entre el 01/01/1960 y el 31/12/1975.
SELECT COUNT(*), sex from Employees WHERE DOB BETWEEN ‘01/01/1960’ AND ‘31/12/1975’ GROUP BY sex;
7- Encontrar un empleado cuyo salario sea igual o superior a 50000.
SELECT EmpName FROM Employees WHERE Salary>=50000;
8- Encontrar el nombre del empleado cuyo nombre comience con "M".
SELECT * FROM Employees WHERE EmpName like ‘M%’;
9- Busque todos los registros de empleados que contengan la palabra “Joe”, independientemente de si se almacenó como JOE, Joe o joe.
SELECT * from Employees WHERE UPPER(EmpName) like '%JOE%';
10- Encontrar el año desde la fecha.
SELECT YEAR(GETDATE()) as “Year”;
Para probar queries y crear tablas de forma rápida y online recomiendo:
Otras páginas recomendadas: