Está en la página 1de 12

SQL SERVER

CONSULTAS

En SQL las consultas nos permiten obtener información almacenada en una Base de


Datos, podemos consultar los registros de una o varias tablas dependiente de la
información que necesitamos mostrar o dicho de otra manera podemos ver datos de una
tabla.

En primer lugar es importante tener claro que para consultar registros de la Base de


Datos, necesitamos haber insertado datos en las tablas a través de la instrucción
insert de sql.
En esta ocasión tomaremos como referencia la tabla Alumnos de nuestra Base de
Datos creada, esta tabla tiene 5 columnas, que son: Id, Nombre, Apellido, Dirección y
Fecha nacimiento. A continuación, muestro la tabla de forma gráfica:
La sintaxis básica de una consulta SELECT es la siguiente:
SELECT ListaColumnas FROM Nombre_Tabla

En donde:

SELECT es el comando para obtener registros de la base de datos.

ListaColumnas será el espacio en el que debemos especificar los nombres de las


columnas de las cuales queremos recibir la información.

From es el comando que permite que indiquemos la tabla de la cual vamos a consultar los
registros.

Nombre_Tabla Indicaremos el nombre de la tabla a consultar los datos.


Tipos de Datos
Ejemplo de consultas
 tenemos la tabla alumnos con la estructura siguiente:

Vamos a consultar sus registros, para lo cual usaremos la sintaxis anterior, y la


consulta seria la siguiente:
SELECT Nombre, Apellido, Direccion, Fecha_nacimiento FROM Alumnos
Ahora bien si queremos consultar todas las columnas, podemos a cortar el código y
hacerlo de la forma siguiente:
SELECT * FROM Alumnos

Consulta Where 

La cláusula where permite especificar una condición


que tiene que cumplirse con los registros de uno o
varios campos que especifiquemos, de tal manera que
los datos que se encuentren dentro de las condiciones,
se incluirán en los resultados de la consulta que
realicemos.
La cláusula where se utiliza en los casos que no requerimos que devuelvan todos los
registros de una tabla, sino que únicamente los datos que cumplan ciertas condiciones.

Las condiciones son expresiones lógicas a comprobar posterior a la cláusula where, el


valor que devolverá la comparación será un valor TRUE o FALSE, en virtud al
cumplimiento de la condición especificada. Se puede hacer uso de cualquier expresión
lógica y en ella implementar algún operador de los siguientes:

> “Mayor”
>= “Mayor o igual”
< “Menor”
<= “Menor o igual”
= “Igual” <> o != “Distinto”
IS [NOT] NULL “para validar si el valor de una columna no es nulo, es decir,
si contiene o no contiene algún registro”
Para realizar una consultar registros y establecer una condición con la clausula where, lo
podemos hacer de la forma siguiente:

SELECT * FROM Alumnos where Nombre=’Franklin’

En la consulta anterior lo que estamos indicando es que necesitamos que nos muestre
todos los registros de la tabla Alumnos mientras el nombre sea: “Franklin”. Como
podemos ver la condición que hemos establecido en el where seria que el nombre sea
exactamente igual a “Franklin”.
Subconsultas:

Las subconsultas son consultas que están anidadas


dentro de otra consulta. Se les permite siempre que sea
tomadas por el SQL Server como una expresión, y se
indican encerrando la subconsulta entre paréntesis

Las subqueries o subconsultas en SQL Server son utilizadas para


obtener resultados de acuerdo a los datos de la consulta superior.

Una subquery puede estar dentro de las siguientes instrucciones:


•Select
•Insert
•Update
•Delete
¿Cómo se utiliza?

Veamos en un ejemplo como se puede utilizar una subconsulta en una instrucción select.

SELECT
Products.ProductName,
(SELECT CategoryName FROM Categories WHERE Categories.CategoryID = Products.CategoryID) AS 'Categoria'
FROM Products;

 Declaramos una consulta select a la tabla Products.


 Entre las columnas para los resultados agregamos una consulta, a este se le
conoce como subquery.
 Una subquery tiene que colocarse entre paréntesis.
 La subquery realiza una consulta a la tabla categories, para obtener la categoría del
producto.
 Es necesario realizar la comparación de un campo de la tabla Products con el
campo de la tabla Categories.
 Con la instrucción anterior podemos ver el resultado
siguiente:

Nota: las subconsultas solo pueden devolver un valor


 (campo), si no se especifica observaras el siguiente error.
El error anterior puede surgir de una consulta como la
siguiente.

SELECT
    Products.ProductName,
    (SELECT * FROM Categories WHERE Categories.CategoryID = Products.CategoryID) AS 'Categoria'
FROM Products;

En las consultas de ejemplo podemos obtener la categoría de un producto utilizando inner join.


Así que los subqueries las podemos utilizar para realizar conteos o totales que afectan a la primera
columna.
Por ejemplo, la siguiente consulta.
SELECT
    Employees.FirstName,
    (SELECT COUNT(*) FROM Orders WHERE Orders.EmployeeID = Employees.EmployeeID) AS 'Ventas totales'
FROM Employees;
En la consulta anterior obtengo el total de ventas por empleado utilizando
subconsultas.
La estructura sigue siendo igual, únicamente cambiamos las tablas de
consulta y respetando los puntos mencionados anteriormente.
El resultado de la instrucción es la siguiente.

https://docs.microsoft.com/en-us/sql/relational-databases/
performance/subqueries?view=sql-server-ver15#rules

También podría gustarte