Está en la página 1de 24

Lenguaje de Lenguaje de Lenguaje de

Definicion de Datos Manipulación de Control de Datos


Datos
DTL
Lenguaje de
DQL
Lenguaje de
Transacción de
Consulta de Datos
Datos
GROUP BY

es un comando SQL que se usa para agrupar filas que tienen los mismos valores .

La cláusula GROUP BY se utiliza en la instrucción SELECT. Opcionalmente se usa junto


con funciones agregadas para producir informes resumidos de la base de datos.

Sentencias SELECT ... GROUP BY column_name1


[, column_name2, ...] [HAVING condition];
HAVING

La consulta SQL HAVING es utilizada junto con SELECT para especificar


una condición de búsqueda para un grupo.

Sentencias SELECT ... GROUP BY column_name1


[, column_name2, ...] [HAVING condición];
ORDER BY

ORDER BY se utiliza para ordenar los resultados de una consulta, según el valor de la columna
especificada.

Por defecto, se ordena de forma ascendente (ASC) según los valores de la columna.

Si se quiere ordenar por orden descendente se utiliza la palabra DESC


TOP

La cláusula TOP SELECT se utiliza para especificar el número de registros que se


devolverán.
La cláusula TOP SELECT puede ser muy útil en tablas grandes con miles de
registros. La devolución de un gran número de registros puede tener un impacto
en el rendimiento.

SELECT TOP number | percent column_name(s)
FROM table_name ;
DISTINCT

La instrucción SELECT DISTINCT se utiliza para devolver sólo valores únicos


(diferentes).
una columna puede contener muchos valores duplicados; y, a veces sólo desea
una lista de los valores diferentes (distintos).
La palabra clave DISTINCT puede utilizarse para devolver sólo valores únicos
(diferentes).

SELECT DISTINCT column_name , column_name
FROM table_name ;
DISTINCT

La instrucción SELECT DISTINCT se utiliza para devolver sólo valores únicos


(diferentes).
una columna puede contener muchos valores duplicados; y, a veces sólo desea
una lista de los valores diferentes (distintos).
La palabra clave DISTINCT puede utilizarse para devolver sólo valores únicos
(diferentes).

SELECT DISTINCT column_name , column_name
FROM table_name ;
INNER JOIN

•Esta cláusula busca coincidencias


entre 2 tablas, en función a una
columna que tienen en común. De
tal modo que sólo la intersección se
mostrará en los resultados.
LEFT JOIN

•A diferencia de un INNER JOIN,


donde se busca una intersección
respetada por ambas tablas,
con LEFT JOIN damos prioridad a la
tabla de la izquierda, y buscamos en
la tabla derecha.
•Si no existe ninguna coincidencia
para alguna de las filas de la tabla de
la izquierda, de igual forma todos los
resultados de la primera tabla se
muestran.
RIGHT JOIN

•En el caso de RIGHT JOIN la


situación es muy similar, pero aquí
se da prioridad a la tabla de la
derecha.
FULL JOIN

Mientras que LEFT JOIN muestra


todas las filas de la tabla
izquierda, y RIGHT JOIN muestra
todas las correspondientes a la
tabla derecha, FULL OUTER JOIN (o
simplemente FULL JOIN) se encarga
de mostrar todas las filas de
ambas tablas, sin importar que
no existan coincidencias
(usará NULL como un valor por
defecto para dichos casos).
FUNCIONES DE AGREGACION

Encargadas de realizar cálculos en un conjunto de valores, por lo general se


omiten los valores nullos y regulamente se usan con las clausula GROUP BY

• SUM
• COUNT
• AVG
• MAX
• MIN
FUNCIONES DE AGREGACION SUM

El SUM() devuelve la suma total de una columna numérica.

SELECT SUM(column_name) FROM


table_name;
FUNCIONES DE AGREGACION COUNT

El COUNT() devuelve el número de filas que se ajuste a los criterios especificados.

SELECT COUNT(column_name) FROM


table_name;
FUNCIONES DE AGREGACION AVG

La AVG() función devuelve el valor medio de una columna numérica.

SELECT AVG(column_name) FROM


table_name
FUNCIONES DE AGREGACION MAX

El MAX() devuelve el mayor valor de la columna seleccionada..

SELECT MAX(column_name) FROM


table_name;
FUNCIONES DE AGREGACION MIN

El MIN() devuelve el valor más pequeño de la columna seleccionada.

SELECT MIN(column_name) FROM


table_name;
Una pequeña practica
Preguntas de esta tarea
Genere un SELECT a la tabla [Person]. [Person].
Genere un SELECT a la tabla [Person]. [Person], únicamente de los campos BusinessEntityID, PersonType, FirstName y LastName.
Genere un query con los mismos campos del punto número 2 donde PersonType sea igual a EM.
Genere una consulta sobre la tabla [HumanResources]. [Employee] que muestre BusinessEntityID, NationalIDNumber y JobTitle,
ordene los registros de mayor a menor por el campo BusinessEntityID.
Genere una consulta sobre la tabla [HumanResources].[Employee] que muestre las JobTitle únicos, el campo JobTitle debe registrar en la
consulta como Unicos.
Genere una consulta para todos los campos de la tabla [HumanResources]. [Employee] donde el BusinessEntityID sea mayor a 10.
Genere una consulta de todos los campos para la tabla [HumanResources]. [Employee] donde el JobTitle sea Sales Representative y
el Gender F.
Genere una consulta que permita obtener la cantidad por JobTitle. La consulta debe mostrar el campo JobTitle seguido de la cantidad que
hay por dicho JobTitle, ordene de mayor a menor.
Realice una consulta de la tabla [HumanResources]. [Employee] la cual indique el promedio del campo VacationHours donde
el JobTitle sea Production Technician - WC50, el campo resultante del promedio debe llamarse Promedio.
Realice una consulta de la tabla [Sales]. [SalesPerson] la cual indique la suma total del campo SalesYTD, el nuevo campo resultante debe
llamarse SumaTotal.
Realice una consulta de la tabla [Sales]. [SalesPerson] la cual indique la suma total del campo SalesYTD donde el campo TerritoryID no
sea NULL, el nuevo campo resultante debe llamarse SumaTotal.
Genere una consulta a la tabla [Sales]. [SalesPerson] que indique el valor máximo y el valor mínimo del campo Bonus, los nuevos campos
deben llamarse maximo y minimo respectivamente.

También podría gustarte