Sei sulla pagina 1di 6

Practica

Resolver:

1- Mostrar la información de un autor cuyo ID comienza con el número 724,


sabiendo que cada ID tiene el formato de tres dígitos seguidos por un guión,
seguido por dos dígitos, otro guión y finalmente cuatro dígitos. Utilizar el comodín
_.

Select * from authors where au_id LIKE '724-__-____'

2- Mostrar la suma de las ventas del año en la tabla (ytd_sales) de todos los libros
de la tabla titles.

USE pubs SELECT SUM(ytd_sales) FROM titles

3- Mostar el precio promedio de todos los libros si se duplicaran los precios ( tabla
titles).

SELECT avg (price * 2) FROM titles

4- Muestre el mínimo valor de las ventas del año (campo ytd_sales) de todos los libros de
la tabla titles
USE pubs SELECT MIN (ytd_sales) FROM titles
5- Mostrar el número de registros de la tabla titles, cuyo tipo (TYPE) sea business .

6- Mostrar las sumas de las ventas (en el campo ydt_sales) hasta la fecha,
clasificándolas por tipo (TYPE) y pub_id.

Use Pubs SELECT TYPE, pub_id, SUM(ytd_sales) as Total


from titles Group by TYPE, pub_id

7- Combine las tablas stores y discounts para mostrar que tienda (stor_id) ofrece
un descuento y el tipo de descuento (discounttype).
--Solución 1
Use Pubs
SELECT s.stor_id as ALMACEN, d.discounttype as DESCUENTO
FROM stores s, discounts d
where s.stor_id = d.stor_id

--Solución 2

Use Pubs SELECT s.stor_id as ALMACEN, d.discounttype as DESCUENTO FROM stores s


JOIN discounts d ON s.stor_id = d.stor_id
Solución

8- Libros editados en estados unidos cuyo precio está entre 18 y 22 dólares


ordenados por título ascendentemente
--Solución 1

SELECT * from titles inner join publishers on


titles.pub_id=publishers.pub_id
WHERE price between 18 and 22 and country='usa'
ORDER BY 2 ASC

--Solución 2
SELECT * from titles, publishers
where titles.pub_id=publishers.pub_id
and price between 18 and 22 and country='usa'
ORDER BY 2 ASC

9- Cuantos libros fueron atendidos por el empleado Paolo Accorti

--Solución 1
SELECT emp_id AS Codigo,fname AS Apellido,lname as Nombre, COUNT(*) AS
Cantidad
FROM employee e, publishers p, titles t
where e.pub_id=p.pub_id
and t.pub_id=p.pub_id
and fname='Paolo' AND lname='Accorti'
GROUP BY emp_id,fname,lname

--Solución 2

SELECT emp_id AS Codigo,fname AS Apellido,lname as Nombre, COUNT(*) AS


Cantidad
FROM employee e
INNER JOIN publishers p ON e.pub_id=p.pub_id
INNER JOIN titles t ON t.pub_id=p.pub_id
WHERE fname='Paolo' AND lname='Accorti'
GROUP BY emp_id,fname,lname
10- Mostrar el precio más alto, más bajo y la diferencia entre ambos de todos los títulos ---
de tipo business

SELECT type, MAX(price) AS [precio mas alto],


MIN(price) AS [precio mas bajo],
MAX(price) - MIN(price) AS [diferencia entre ambos]
FROM titles GROUP BY type HAVING type='business'

Potrebbero piacerti anche