SQL: funciones principales y preguntas de entrevistas

SQL: funciones principales y preguntas de entrevistas

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 BETWEEN01/01/1960AND31/12/1975GROUP 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()) asYear”;

Para probar queries y crear tablas de forma rápida y online recomiendo:

sqliteonline.com

Otras páginas recomendadas:

w3schools.com/sql/sql_intro.asp

doc.4d.com/4Dv15/4D/15/Manual-de-SQL.100-22..