Skip to content

Select

El SELECT de SQL es una instrucción que se utiliza para seleccionar datos de una base de datos. Los datos devueltos se almacenan en una tabla de resultados, denominada conjunto de resultados.

Funciona dependiendo del DBMS que se esté utilizando, pero para estos ejemplos de consulta, se utilizará Microsoft SQL Server. Donde las unica diferencia que tiene con otros DBMS es que se utiliza el operador + para concatenar cadenas de texto, en lugar de || que se utiliza en otros DBMS.

Funcionamiento básico

La estructura básica de una consulta SELECT es la siguiente:

SELECT column1, column2, ...
FROM table_name;

Donde column1, column2, ... son los nombres de las columnas que se desean seleccionar y table_name es el nombre de la tabla de la que se desean seleccionar los datos.

Suponiendo que poseemos la siguiente tabla Employees:

EmployeeIDLastNameFirstNameTitleTitleOfCourtesyBirthDateHireDateAddressCityRegionPostalCodeCountryHomePhoneExtensionPhotoNotesReportsToPhotoPath
1DavolioNancySales RepresentativeMs.1948-12-081992-05-01507 - 20th Ave. E. Apt. 2ASeattleWA98122USA(206) 555-98575467Education includes a BA in psychology from Colorado State University in 1970.2http://accweb/emmployees/davolio.bmp

Para seleccionar todos los datos de la tabla Employees, se puede utilizar la siguiente consulta:

SELECT *
FROM Employees;

Seleccionar columnas específicas

Para seleccionar columnas específicas de una tabla, se puede utilizar la siguiente consulta:

SELECT column1, column2, ...
FROM table_name;

Por ejemplo, para seleccionar solo las columnas LastName, FirstName y Title de la tabla Employees, se puede utilizar la siguiente consulta:

SELECT LastName, FirstName, Title
FROM Employees;

Selecciones con alias

Para seleccionar columnas con un alias, se puede utilizar la siguiente consulta:

SELECT column1 AS alias1, column2 AS alias2, ...
FROM table_name;

Por ejemplo, para seleccionar solo las columnas LastName, FirstName y Title de la tabla Employees con un alias, se puede utilizar la siguiente consulta:

SELECT LastName AS Apellido, FirstName AS Nombre, Title AS Cargo
FROM Employees;

Selecciones con expresiones

Para seleccionar columnas con expresiones, se puede utilizar la siguiente consulta:

SELECT expression1, expression2, ...
FROM table_name;

Por ejemplo, para seleccionar solo las columnas LastName, FirstName y Title de la tabla Employees con un alias, se puede utilizar la siguiente consulta:

SELECT LastName + ', ' + FirstName AS NombreCompleto, Title AS Cargo
FROM Employees;

Selecciones con funciones

Para seleccionar columnas con funciones, se puede utilizar la siguiente consulta:

SELECT function1(column1), function2(column2), ...
FROM table_name;

Por ejemplo, para seleccionar solo las columnas LastName, FirstName y Title de la tabla Employees con un alias, se puede utilizar la siguiente consulta:

SELECT UPPER(LastName) AS Apellido, LOWER(FirstName) AS Nombre, Title AS Cargo
FROM Employees;

Selecciones con filtros

Para seleccionar columnas con filtros, se puede utilizar la siguiente consulta:

SELECT column1, column2, ...
FROM table_name
WHERE condition;

Por ejemplo, para seleccionar solo las columnas LastName, FirstName y Title de la tabla Employees con un alias, se puede utilizar la siguiente consulta:

SELECT LastName, FirstName, Title
FROM Employees
WHERE Country = 'USA';

Selecciones con ordenamiento

Para seleccionar columnas con ordenamiento, se puede utilizar la siguiente consulta:

SELECT column1, column2, ...
FROM table_name
ORDER BY column1, column2, ... ASC|DESC;

Por ejemplo, para seleccionar solo las columnas LastName, FirstName y Title de la tabla Employees con un alias, se puede utilizar la siguiente consulta:

SELECT LastName, FirstName, Title
FROM Employees
ORDER BY LastName ASC, FirstName ASC;

Selecciones con agrupamiento

Para seleccionar columnas con agrupamiento, se puede utilizar la siguiente consulta:

SELECT column1, column2, ...
FROM table_name
GROUP BY column1, column2, ...;

Por ejemplo, para seleccionar solo las columnas LastName, FirstName y Title de la tabla Employees con un alias, se puede utilizar la siguiente consulta:

SELECT Country, COUNT(*)
FROM Employees
GROUP BY Country;

Selecciones con agrupamiento y filtros

Para seleccionar columnas con agrupamiento y filtros, se puede utilizar la siguiente consulta:

SELECT column1, column2, ...
FROM table_name
WHERE condition
GROUP BY column1, column2, ...;

Por ejemplo, para seleccionar solo las columnas LastName, FirstName y Title de la tabla Employees con un alias, se puede utilizar la siguiente consulta:

SELECT Country, COUNT(*)
FROM Employees
WHERE Country = 'USA'
GROUP BY Country;

Selecciones con agrupamiento, filtros y ordenamiento

Para seleccionar columnas con agrupamiento, filtros y ordenamiento, se puede utilizar la siguiente consulta:

SELECT column1, column2, ...
FROM table_name
WHERE condition
GROUP BY column1, column2, ...
ORDER BY column1, column2, ... ASC|DESC;

Por ejemplo, para seleccionar solo las columnas LastName, FirstName y Title de la tabla Employees con un alias, se puede utilizar la siguiente consulta:

SELECT Country, COUNT(*)
FROM Employees
WHERE Country = 'USA'
GROUP BY Country
ORDER BY Country ASC;

Selecciones con agrupamiento, filtros, ordenamiento y límites

Para seleccionar columnas con agrupamiento, filtros, ordenamiento y límites, se puede utilizar la siguiente consulta:

SELECT column1, column2, ...
FROM table_name
WHERE condition
GROUP BY column1, column2, ...
ORDER BY column1, column2, ... ASC|DESC
LIMIT number;

Por ejemplo, para seleccionar solo las columnas LastName, FirstName y Title de la tabla Employees con un alias, se puede utilizar la siguiente consulta:

SELECT Country, COUNT(*)
FROM Employees
WHERE Country = 'USA'
GROUP BY Country
ORDER BY Country ASC
LIMIT 10;

Referencias