Modelado físico relacional de bases de datos
Realiza los siguientes ejercicios para practicar el lenguaje de consulta de datos (DQL) en SQL.
Los siguientes ejercicios los tendrás que realizar sobre estas tablas (clientes y pedidos):
Datos insertados:
Tabla: clientes
| id | nombre |
|---|---|
| 1 | Paula |
| 2 | Rosa |
| 3 | Alberto |
| 4 | Juan |
Tabla: pedidos
| id | id_cliente | producto |
|---|---|---|
| 1 | 1 | pc |
| 2 | 2 | smartphone |
| 3 | NULL | tablet |
| 4 | 1 | ipod |
Basandote en las tablas descritas al inicio de la hoja.
Escribe una consulta SQL para obtener una lista de pedidos con el nombre del cliente correspondiente. Solo deben aparecer en el resultado los pedidos que tienen un cliente asociado (es decir, los
id_clienteque no son NULL).Las columnas tendrán los siguientes nombres:
id_pedidopara el id del pedidonombrepara el nombre del clienteproductopara el producto del pedido
Resultado esperado
id_pedido nombre producto 1 Paula pc 2 Rosa smartphone 4 Paula ipod Consulta SQL esperada
Loading...Basandote en las tablas descritas al inicio de la hoja.
Crea una consulta en la que muestres todos los pedidos, incluidos aquellos que no tienen un cliente asociado. En caso de que no haya un cliente asociado, el campo nombre_cliente deberá aparecer como NULL.
Las columnas tendrán los siguientes nombres:
id_pedidopara el id del pedidonombre_clientepara el nombre del clienteproductopara el producto del pedido
Resultado esperado
id_pedido nombre_cliente producto 1 Paula pc 2 Rosa smartphone 3 NULL tablet 4 Paula ipod Consulta SQL esperada
Loading...Basandote en las tablas descritas al inicio de la hoja.
Queremos obtener un informe que muestre los nombres de los clientes que tienen más de un pedido. El informe debe incluir el nombre del cliente y la cantidad de productos que han pedido.
Resultado esperado
nombre cantidad_productos Paula 2 Las columnas tendrán los siguientes nombres:
nombrepara el nombre del clientecantidad_productospara la cantidad de productos que ha pedido
Consulta SQL esperada
Loading...Basandote en las tablas descritas al inicio de la hoja.
Vamos con una consulta un poco más compleja.
Queremos obtener un informe que muestre el nombre de cada cliente junto con el último producto que compraron basado en el ID del pedido. Si un cliente no ha realizado ningún pedido, no debe aparecer en el resultado.
PISTA: tendrás que suar subconsultas
Las columnas tendrán los siguientes nombres:
nombrepara el nombre del clienteultimo_productopara la el último producto que ha comprado
Resultado final esperado
nombre ultimo_producto Paula ipod Rosa smartphone Alberto tablet Loading...Basandote en las tablas descritas al inicio de la hoja.
Queremos obtener la cantidad de productos comprados por cada cliente,
Las columnas tendrán los siguientes nombres:
nombrepara el nombre del clientecantidad_productos_compradospara la cantidad de productos que ha comprado
Resultado esperado
nombre cantidad_productos_comprados Paula 2 Rosa 1 Loading...Basandote en las tablas descritas al inicio de la hoja.
Queremos obtener una lista de todos los clientes que no han realizado ningún pedido
La columna tendrá el siguiente nombre:
nombre_clientepara el nombre del cliente
Resultado esperado
nombre_cliente Alberto Juan Loading...Basandote en las tablas descritas al inicio de la hoja.
Queremos obtener el nombre de los clientes que han comprado un pc
La columna tendrá el siguiente nombre:
nombre_clientepara el nombre del cliente
Resultado esperado
nombre_cliente Paula Loading...