Documentos de Académico
Documentos de Profesional
Documentos de Cultura
4.5 Recurso. Ejemplos de Sentencias SELECT II
4.5 Recurso. Ejemplos de Sentencias SELECT II
@Avanza
Módulo: Gestión de bases de datos Página: 1
NBA.
1. Mostrar nombre de equipo y número de jugadores. Estas consultas son todas
iguales. Debemos agrupar por el campo que se indica y contar. En este caso
agrupamos por nombre_equipo. A cada grupo resultante se le aplica la función de
agregado, en este caso Count. Dentro de Count podemos poner cualquier campo,
pero no siempre obtendremos el mismo resultado. Suele ponerse la clave principal,
algún campo que no tenga nulos o el asterisco que cuenta las filas del grupo.
3. Peso medio de los jugadores por equipo. Es del mismo estilo, agrupar por equipo y
aplicar la función, en este caso media (AVG).
4. Listado de jugadores que juegan en el mismo equipo que Pau Gasol. Consulta típica
de subselect. Como no sabemos a priori el equipo en el que juega este jugador,
debemos escribir una subselect que lo averigüe y pasar el resultado a la select
principal. La subselect se ejecuta antes y una sola vez.
SOFT.
5. Mostrar los productos no vendidos. Los no vendidos son aquellos cuyo número no
aparece en la tabla detalle. Típica consulta de subselect.
6. Mostrar las ventas del cliente con código BERGS. Los datos a mostrar son código,
nombre, número de venta, fecha y pagado. Consulta basada en dos tablas, por tanto
debemos poner ambas tablas en el from y luego eliminar las filas no deseadas
comparando clave principal y clave ajena, es decir, los campos por los que se
relacionan estas tablas.
7. Mostrar código, nombre, número de venta y fecha de ésta. Deben aparecer los
clientes con y sin ventas. Estas consultas son típicas de left o right join .
El left join hace que aparezcan las filas de la tabla de la izquierda (clientes) que tienen
ventas y las filas que no la tienen. Estas últimas presentan null en las columnas
numeroventa y fechaventa.
8. Contar el número de ventas por cada cliente. Deben aparecer los que tienen ventas
y los que no.
Típica de left join, agrupar y contar. Formamos grupos por código de cliente y contamos.
Ahora no podemos poner count(*) ya que nos diría que todos los clientes tienen al menos
una venta, por eso elegimos count(numeroventa), los clientes sin ventas tienen el valor 0 en
esta columna.