Quellcode durchsuchen

made all exercices

master
Margot De Vos vor 2 Jahren
Ursprung
Commit
7de78f25d9

+ 57
- 5
How-to-code-subqueries.sql Datei anzeigen

@@ -1,19 +1,71 @@
-- Exercise 1

SELECT * FROM products
WHERE list_price > (SELECT AVG(list_price) FROM products);

-- Exercise 2

SELECT
product_name,
list_price
FROM
products
WHERE
list_price >
(SELECT
AVG(list_price)
FROM products
WHERE list_price > 0)
ORDER BY list_price DESC;

-- Exercise 3

SELECT
c.category_name
FROM
categories c
WHERE
NOT EXISTS (SELECT 1 FROM products p WHERE p.category_id = c.category_id);

-- Exercise 4

SELECT c.email_address,
Max(order_cost) AS LargestOrder
FROM customers c
INNER JOIN orders o
ON c.customer_id = o.customer_id
JOIN (SELECT orders.order_id,
item_total * quantity AS OrderCost
FROM orders,
order_items
WHERE order_items.order_id = orders.order_id)largest
ON largest.order_id = o.order_id
GROUP BY c.email_address;

-- Exercise 4 Part 2


-- Exercise 5

SELECT
product_name, discount_percent
FROM
products
WHERE
discount_percent NOT IN (SELECT
discount_percent
FROM
products
GROUP BY discount_percent
HAVING COUNT(discount_percent) > 1)
ORDER BY product_name;

-- Exercise 6
SELECT
email_address, order_id,
order_date
FROM
customers c JOIN orders o
ON c.customer_id = o.customer_id
WHERE
order_date = (SELECT
MIN(order_date)
FROM
orders
WHERE
customer_id = o.customer_id);

+ 86
- 7
How-to-code-summary-queries.sql Datei anzeigen

@@ -1,19 +1,98 @@
-- Exercise 1

SELECT
COUNT(*) AS order_count,
SUM(tax_amount)
FROM
orders;

-- Exercise 2

SELECT
category_name,
COUNT(product_id) AS product_count,
MAX(list_price) AS max_price
FROM
categories c JOIN products p
ON c.category_id = p.category_id
GROUP BY
c.category_id
ORDER BY
product_count DESC;

-- Exercise 3

SELECT
email_address,
SUM(item_price * quantity) AS 'total',
SUM(discount_amount * quantity) AS 'total discount'
FROM
customers c
JOIN orders o
ON c.customer_id = o.customer_id
JOIN order_items oi
ON o.order_id = oi.order_id
GROUP BY
email_address
ORDER BY
total DESC;

-- Exercise 4


SELECT
email_address,
COUNT(o.order_id) AS number_orders,
(item_price - discount_amount) * quantity AS total_amount
FROM
customers c JOIN orders o
ON c.customer_id = o.customer_id
JOIN order_items oi
ON o.order_id = oi.order_id
GROUP BY
c.customer_id
HAVING
number_orders > 1
ORDER BY
total_amount DESC;
-- Exercise 5

SELECT
email_address,
COUNT(o.order_id) AS number_orders,
(item_price - discount_amount) * quantity AS total_amount
FROM
customers c JOIN orders o
ON c.customer_id = o.customer_id
JOIN order_items oi
ON o.order_id = oi.order_id
WHERE
item_price > 400
GROUP BY
email_address
HAVING
COUNT(o.order_id) > 1
ORDER BY
total_amount DESC;

-- Exercise 6

SELECT
product_name,
SUM((item_price - discount_amount) * quantity) AS 'product total'
FROM
products p JOIN order_items oi
ON p.product_id = oi.product_id
GROUP BY
product_name WITH ROLLUP;

-- Exercise 7
SELECT
email_address,
COUNT(DISTINCT oi.product_id) AS 'number of products'
FROM
customers c
JOIN orders o
ON c.customer_id = o.customer_id
JOIN order_items oi
ON o.order_id = oi.order_id
GROUP BY
email_address
HAVING
COUNT(DISTINCT oi.product_id) > 1
ORDER BY
email_address;

+ 45
- 7
How-to-insert-update-and-delete-data.sql Datei anzeigen

@@ -1,28 +1,66 @@
-- Exercise 1

INSERT INTO
categories
(category_id, category_name)
VALUES
(default, 'Brass');

-- Exercise 2

UPDATE
categories
SET
category_name = 'Woodwinds'
WHERE
category_id = (select category_id from categories where category_name='Brass');

-- Exercise 3

DELETE FROM categories
WHERE
category_id = (select category_id from categories where category_name='Woodwinds');

-- Exercise 4

INSERT INTO products
(product_id, category_id, product_code, product_name, description,
list_price, discount_percent, date_added)
values
(default, 4, 'dgx_640', 'Yamaha DGX 640 88-Key Digital Piano', 'Long description to come',
'799.99', '0', NOW());

-- Exercise 5

UPDATE
products
SET
discount_percent = '35'
WHERE
product_id = 11;

-- Exercise 6

DELETE FROM
categories
WHERE
category_id = (select category_id from categories where category_name='Brass');

-- Exercise 7

insert into customers
(email_address, password, first_name, last_name)
values
('rick@raven.com ', '','Rick','Raven');

-- Exercise 8
UPDATE
customers
SET
password = 'secret'
WHERE
email_address = 'rick@raven.com';


-- Exercise 9
UPDATE
customers
SET
password = 'reset'
LIMIT 100;


-- Exercise 10

+ 65
- 7
How-to-retrieve-data-from-a-single-table.sql Datei anzeigen

@@ -1,22 +1,79 @@
-- Exercise 1

SELECT
product_code, product_name, list_price, discount_percent
FROM
products
ORDER BY
list_price DESC;

-- Exercise 2

SELECT
concat(last_name, ', ', first_name) AS full_name
FROM
customers
WHERE
last_name >= 'M'
ORDER BY
last_name ASC;

-- Exercise 3

SELECT
product_name, list_price, date_added
FROM
products
WHERE
list_price > 500 AND list_price < 2000;
ORDER BY
date_added DESC;

-- Exercise 4

SELECT
product_name,
list_price,
discount_percent,
ROUND(list_price * discount_percent / 100) AS discount_amount,
ROUND(list_price - (list_price * discount_percent), 2) AS discount_price
FROM
products
ORDER BY
discount_price DESC
LIMIT
5;

-- Exercise 5

SELECT
item_id,
item_price,
discount_amount,
quantity,
item_price * quantity AS price_total,
discount_amount * quantity AS discount_total,
(item_price - discount_amount) * quantity AS item_total
FROM
order_items
WHERE
(item_price - discount_amount) * quantity >= 500
ORDER BY
item_total DESC;

-- Exercise 6

SELECT
order_id,
order_date,
ship_date
FROM
orders
WHERE
ship_date IS NULL;

-- Exercise 7
SELECT
NOW() AS today_unformatted,
DATE_FORMAT(NOW(), "%d-%m-%Y") AS today_formatted;


-- Exercise 8
SELECT
'100' AS 'price',
'0.07' AS 'tax_rate',
100 * .07 AS tax_amount,
100 + (100 * .07) AS total;

+ 85
- 7
How-to-retrieve-data-from-two-or-more-tables.sql Datei anzeigen

@@ -1,19 +1,97 @@
-- Exercise 1

SELECT
c.category_name,
p.product_name,
p.list_price
FROM
categories c JOIN products p
ON c.category_id = p.category_id
ORDER BY
category_name, product_name ASC;

-- Exercise 2

SELECT
first_name,
last_name,
line1,
city,
state,
zip_code
FROM
customers c JOIN addresses a
ON c.customer_id = a.customer_id
WHERE
c.email_address = 'allan.sherwood@yahoo.com';

-- Exercise 3

SELECT
first_name,
last_name,
line1,
city,
state,
zip_code
FROM
customers c JOIN addresses a
ON c.customer_id = a.customer_id
AND c.shipping_address_id = a.address_id;

-- Exercise 4

SELECT
c.last_name,
c.first_name,
order_date,
p.product_name,
item_price,
discount_amount,
quantity
FROM
Customers c
JOIN orders o ON c.customer_id = o.customer_id
JOIN order_items oi ON o.order_id = oi.order_id
JOIN products p ON oi.product_id = p.product_id
ORDER BY
last_name, order_date, product_name;

-- Exercise 5


SELECT
p1.product_name,
p1.list_price
FROM
products p1 JOIN products p2
ON p1.product_id <> p2.product_id AND
p1.list_price = p2.list_price
ORDER BY
product_name;
-- Exercise 6

SELECT
category_name,
product_id
FROM
categories c LEFT JOIN products p
ON c.category_id = p.category_id
WHERE
product_id IS NULL;

-- Exercise 7
SELECT
'SHIPPED' AS ship_status,
order_id,
order_date
FROM
orders
WHERE
ship_date IS NOT NULL
UNION
SELECT
'NOT SHIPPED',
order_id,
order_date
FROM
orders
WHERE
ship_date IS NULL
ORDER BY
order_date;

Laden…
Abbrechen
Speichern