Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 6

CONSULTAS EN SQL

Cristian Alfonso López


Agosto 2020

Desarrollo De Applets/Aplicaciones Con Uso De Base De Datos, Redes,


Servlets Y Multimedia
Indira Del Pilar Uribe Tavera
SENA Virtual
Tabla de contenidos

Consultas en SQL ....................................................................................................................... 1


1

SQL es el lenguaje usado para consultar y actualizar información en Mysql, Access, entre

otras bases de datos. La sentencia SELECT puede combinarse con algunas funciones que

permite realizar consultas avanzadas a las tablas. Algunas de esas funciones son:

 GROUP BY

 DISTINCT

 SUM  AVG

 COUNT  CONCAT

 MIN

 MAX

Escoja una de las opciones anteriores e investigue en internet como usarla. En la actividad

Evidencia U3E1 TALLER: "Consultas en SQL" de la actividad 3 cree una nueva entrada donde

explique con ejemplos diferentes como usar esta función realizando consultas en la SERVICIO

NACIONAL DE APRENDIZAJE SENA Procedimiento de Desarrollo Curricular GUÍA DE

APRENDIZAJE GFPI-F-019 V3 Página 4 de 20 tabla libros creada en el punto anterior.


2

Consultas agrupadas (GROUP BY)

La cláusula 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.

Eso es lo que hace, resumiendo los datos de la base de datos.

Las consultas que contienen la cláusula GROUP BY se denominan consultas agrupadas y solo

devuelven una sola fila para cada elemento agrupado.

Las consultas anteriores recuperaban, trabajaban con, y mostraban información a nivel de

cada registro individual de la base de datos. Así, si tenemos un producto con un determinado

precio, podemos devolver el precio mediante SELECT precioLinea o bien operar sobre él

como

En SELECT precioLinea * 85000.

Ahora bien, podemos querer obtener información que no proviene de un registro individual

sino de la agrupación de información, como es el caso de contar el número de líneas de

pedido, sumar el precio de todas las líneas por cada pedido, etc. Para ello, debemos emplear

funciones agregadas y en la mayoría de los casos agrupar por algún campo.

Así, para ver el número total de registros podemos hacer:

SELECT COUNT(*)

FROM LINEAPEDIDO
3

Si por el contrario deseamos obtener el total de líneas por pedido, debemos indicar que agrupe

por idPedido, lo que contará todos los registros con el mismo idPedido y calculará su cuenta:

SELECT idPedido, COUNT(*)

FROM LINEAPEDIDO

GROUP BY idPedido

Lo mismo se puede aplicar a otras funciones como la suma, indicando en ese caso aparte de la

agrupación el campo que queremos sumar:

SELECT idPedido, SUM(precioLinea)

FROM LINEAPEDIDO

GROUP BY idPedido

¿Y si queremos hallar la media de los precios por cada pedido? En ese caso necesitamos de

nuevo agrupar (GROUP BY) por pedido.

SELECT idPedido,

FROM LINEAPEDIDO

GROUP BY idPedido

Igualmente, podríamos aplicar un redondeo (ROUND) sobre la media, para dejar 4 decimales,

y aplicarle un alias (AS) para el nombre del dato de salida.

SELECT idPedido, ROUND(AVG(precioLinea),4) AS media

FROM LINEAPEDIDO

GROUP BY idPedido
4

O podríamos establecer una condición sobre el dato agrupado (HAVING), de forma que

solamente se muestren las medias menores o iguales que 10. Existe una gran cantidad de

funciones de agregación definidas en SQL, pero hay que tener precaución porque pueden

diferir de un SGBD a otro.

SELECT idPedido, ROUND(AVG(precioLinea),4)

FROM LINEAPEDIDO

GROUP BY idPedido

HAVING AVG(precioLinea) < 10

También podría gustarte