-- 1. 列出 ordering_xxx 資料表(Relation)中 S (以廠商作為別名 alias)、P、QTY (以訂購量作為別名)。
-- 請在答案紙上寫下前三筆的結果
SELECT s "廠商", p, qty "訂購量"
FROM ordering_xxx
LIMIT 3;
04-11 10:45:
1. 列出 ordering_xxx 資料表(Relation)中 S (以廠商作為別名 alias)、P、QTY (以訂購量作為別名)。 -- 請在答案紙上寫下前三筆的結果 SELECT s "廠商", p, qty "訂購量" FROM ordering_012 LIMIT 3;
04-11 10:52:
-- 1. 列出 ordering_xxx 資料表(Relation)中 S (以廠商作為別名 alias)、P、QTY (以訂購量作為別名)。
-- 請在答案紙上寫下前三筆的結果
SELECT s"廠商",p,qty"訂購量"
FROM ordering_019
LIMIT 3;
04-11 10:55:
-- 1. 列出 ordering_018 資料表(Relation)中 S (以廠商作為別名 alias)、P、QTY (以訂購量作為別名)。
-- 請在答案紙上寫下前三筆的結果
SELECT s "廠商" ,p , qty "訂購量"
FROM ordering_018
LIMIT 3
04-11 11:06:
1. 列出 ordering_012 資料表(Relation)中 S (以廠商作為別名 alias)、P、QTY (以訂購量作為別名)。 -- 請在答案紙上寫下前三筆的結果 SELECT s "廠商", p, qty "訂購量" FROM ordering_012 LIMIT 3;
04-11 11:14:
留言...
04-11 11:14:
-- 1. 列出 ordering_xxx 資料表(Relation)中 S (以廠商作為別名 alias)、P、QTY (以訂購量作為別名)。
-- 請在答案紙上寫下前三筆的結果
SELECT s "客戶", p, qty "訂購數量"
FROM ordering_014
LIMIT 5;
04-11 11:18:
-- 2. ordering_xxx 資料表中,各P (產品編號)之訂購量加總
SELECT p, SUM(qty)
FROM ordering_014
GROUP BY p;
04-11 11:19:
-- 2. ordering_019 資料表中,各P (產品編號)之訂購量加總
-- 請在答案紙上寫下前三筆的結果
SELECT p , SUM(qty)
FROM ordering_019
GROUP BY p ;
04-11 11:20:
-- 2. ordering_018 資料表中,各P (產品編號)之訂購量加總
-- 請在答案紙上寫下前三筆的結果
SELECT p , SUM(qty)
FROM ordering_018
GROUP BY p;
04-11 11:20:
2. ordering_xxx 資料表中,各P (產品編號)之訂購量加總 SELECT p, SUM(qty) FROM ordering_014 GROUP BY p;
04-11 11:27:
-- 2. ordering_012 資料表中,各P (產品編號)之訂購量加總
SELECT p, SUM(qty)
FROM ordering_012
GROUP BY p;
04-11 11:55:
-- 3. 列出 廠商之訂購金額加總大於 80,000者。
-- 訂購金額 為 table ordering_xxx 之訂購量 qty * table product_xxx 的 價格 cost
-- 請在答案紙上寫下前三筆的結果
SELECT s, SUM(qty*cost) cc
FROM ordering_014 OO JOIN product_014 PP
ON OO.p = PP.p_id
GROUP BY OO.s
HAVING cc > 80000;
04-11 11:56:
-- 3. 列出 廠商之訂購金額加總大於 80,000者。
-- 訂購金額 為 table ordering_018 之訂購量 qty * table product_xxx 的 價格 cost
-- 請在答案紙上寫下前三筆的結果
SELECT s,sum(qty*cost)
FROM ordering_018 oo JOIN product_018 pp
ON oo.p=pp.p_id
GROUP by oo.s
HAVING cc>80000
04-11 11:59:
-- 3. 列出 廠商之訂購金額加總大於 80,000者。
-- 訂購金額 為 table ordering_012 之訂購量 qty * table product_012 的 價格 cost
SELECT s ,SUM(qty*cost) cc
FROM ordering_012 OO JOIN product_012 PP
ON OO.p = PP.p_id
GROUP BY OO.s
HAVING cc > 80000;
04-11 12:00:
-- 3. 列出 廠商之訂購金額加總大於 80,000者。
-- 訂購金額 為 table ordering_012 之訂購量 qty * table product_012 的 價格 cost
SELECT s ,SUM(qty*cost) cc
FROM ordering_012 OO JOIN product_012 PP
ON OO.p = PP.p_id
GROUP BY OO.s
HAVING cc > 80000;
04-11 12:08:
-- 4. 按廠商編號 由大到小排序,列出 ordering_xxx 資料表中 訂購 p 小於等於 '12' 的所有資料列
-- 另存到一個資料表 temp_xxx
-- 請在答案紙上寫下 temp_xxx 前三筆的結果
CREATE TABLE temp_014
SELECT *
FROM ordering_014
WHERE p <= '12'
ORDER BY s DESC;
04-18 11:12:
-- 5. 列出 product_xxx 資料表中,未被訂購者的 P_id (產品編號)與 cost(單價)。
-- 請在答案紙上寫下前三筆的結果
SELECT p_id, cost
FROM product_xxx
WHERE p_id not in
( SELECT DISTINCT p FROM ordering_xxx);
04-18 11:20:
-- 7. 列出 supplier_xxx 資料表中 有訂購 30 號產品者(P=30)的 廠商編號 (s_id), 廠商名稱 (s_name), 與 地址 (address)
-- 請在答案紙上寫下結果
SELECT *
FROM supplier_xxx
WHERE s_id IN
(SELECT DISTINCT s FROM ordering_xxx);
04-18 11:26:
-- 8. 列出訂購總金額加總為後五名者 (最少的5家) 的S,P,qty,cost,與訂購總金額加總
-- 請在答案紙上寫下前三筆的結果
SELECT *, SUM(OO.qty*PP.cost) AS tot
FROM ordering_xxx OO JOIN product_xxx PP
ON OO.p = PP.p_id
GROUP BY OO.s
ORDER BY tot;
04-18 11:29:
-- 9. 列出 未有訂購產品 的廠商編號 (s_id)、名稱(s_name),與地址 (address)。
-- 請在答案紙上寫下前三筆的結果
SELECT *
FROM supplier_xxx
WHERE s_id NOT IN
(SELECT DISTINCT s FROM ordering_xxx);
04-18 11:41:
-- 7. 列出 supplier_xxx 資料表中 有訂購 30 號產品者(P=30)的 廠商編號 (s_id), 廠商名稱 (s_name), 與 地址 (address)
SELECT *
FROM supplier_014
WHERE s_id IN
(SELECT DISTINCT s FROM ordering_014);
04-18 11:44:
-- 8. 列出訂購總金額加總為後五名者 (最少的5家) 的S,P,qty,cost,與訂購總金額加總
SELECT *, SUM(OO.qty*PP.cost) AS tot
FROM ordering_014 OO JOIN product_014
ON OO.p = PP.p_id
GROUP BY OO.s
ORDER BY tot;
04-18 11:45:
-- 11. 列出 廠商之訂購金額加總 (訂購金額 為 table ordering_xxx 之訂購量 qty * table product_xxx 的 價格 cost) 小於 250,000者。
-- >> 寫下 其中最多的一家廠商、與其訂購金額加總
SELECT s, SUM(qty*cost) total
FROM ordering_xxx OO JOIN product_xxx PP ON OO.p=PP.p_id
GROUP BY s HAVING total < 250000;
04-18 11:45:
-- 9. 列出 未有訂購產品 的廠商編號 (s_id)、名稱(s_name),與地址 (address)。
SELECT *
FROM supplier_014
WHERE s_id NOT IN
(SELECT DISTINCT s FROM ordering_014);
04-18 11:48:
-- 10. 列出 有訂購產品 的廠商編號 (s_id) 與地址 (address),及其訂購的商品編號(p_id)、品名(name),價格 (cost),和數量(qty),
-- 以及各項商品的訂購金額 (qty*cost)。
SELECT *
FROM supplier_014 SS JOIN
(SELECT *, OO.qty*PP.cost AS total
FROM ordering_014 OO JOIN product_014 PP ON OO.p = PP.p_id) TT ON SS.s_id = TT.s;
04-18 11:51:
-- 12. 列出 ordering_xxx 資料表中,被訂購總數量 大於 900 者的 P_id (產品編號)與 總數量
-- >> 在答案紙上寫下來即可
SELECT p_id, product_xxx.name, SUM(qty) allqty
FROM product_xxx JOIN ordering_xxx
ON product_xxx.p_id=ordering_xxx.p
GROUP BY p_id
HAVING allqty > 900;
04-18 11:54:
-- 13. 出訂購總金額最多的一項商品
-- >> 寫下它的 商品編號、與品名
SELECT p, name, SUM(qty*cost) total
FROM product_xxx JOIN ordering_xxx
ON product_xxx.p_id=ordering_xxx.p
GROUP BY p
ORDER BY total DESC
LIMIT 1;
04-18 11:58:
-- 14. 列出有訂購產品的廠商中,但並沒訂購 '10' 商品的 公司編號 (s_id)
-- >> 寫下它的 公司編號 即可
SELECT s_id
FROM supplier_xxx
WHERE s_id NOT IN
(SELECT DISTINCT s FROM ordering_xxx WHERE p=10);
04-18 12:00:
-- 11. 列出 廠商之訂購金額加總 (訂購金額 為 table ordering_xxx 之訂購量 qty * table product_xxx 的 價格 cost) 小於 250,000者。 -- >> 寫下 其中最多的一家廠商、與其訂購金額加總
SELECT s, SUM(qty*cost) total
FROM ordering_014 OO
JOIN product_014 PP ON OO.p=PP.p_id
GROUP BY s HAVING total < 250000;
04-18 12:03:
-- 12. 列出 ordering_xxx 資料表中,被訂購總數量 大於 900 者的 P_id (產品編號)與 總數量 -- >> 在答案紙上寫下來即可
SELECT p_id, product_014.name, SUM(qty) allqty
FROM product_014 JOIN ordering_014
ON product_014.p_id=ordering_014.p
GROUP BY p_id
HAVING allqty > 900
04-18 12:06:
-- 15. 列出 有訂購產品 的廠商編號 (s_id) 與地址 (address),及其訂購的商品編號(p_id)> '32' 者、品名(name),價格 (cost),和數量(qty),
-- 以及各項商品的訂購金額 (qty*cost)。
-- >> 寫下它的 公司名稱 即可
SELECT s_id, SS.s_name, address
FROM supplier_xxx SS
WHERE s_id IN
(SELECT DISTINCT s FROM ordering_xxx OO WHERE OO.p > 32);
04-18 12:06:
-- 13. 出訂購總金額最多的一項商品 -- >> 寫下它的 商品編號、與品名
SELECT p, name, SUM(qty*cost) total
FROM product_014 JOIN ordering_014 ON
product_014.p_id=ordering_014.p GROUP BY product_014
ORDER BY total DESC LIMIT 1;
-- 14. 列出有訂購產品的廠商中,但並沒訂購 '10' 商品的 公司編號 (s_id) -- >> 寫下它的 公司編號 即可
SELECT s_id
FROM supplier_014
WHERE s_id NOT IN
(SELECT DISTINCT s FROM ordering_014 WHERE p=10);
04-18 12:12:
-- 15. 列出 有訂購產品 的廠商編號 (s_id) 與地址 (address),及其訂購的商品編號(p_id)> '32' 者、品名(name),價格 (cost),和數量(qty), -- 以及各項商品的訂購金額 (qty*cost)。 -- >> 寫下它的 公司名稱 即可
SELECT s_id, SS.s_name, address
FROM supplier_014 SS WHERE s_id IN
(SELECT DISTINCT s FROM ordering_014 OO WHERE OO.p > 32);
-- 4. 按廠商編號 由大到小排序,列出 ordering_018 資料表中 訂購 p 小於等於 '12' 的所有資料列
-- 另存到一個資料表 temp_018 -- 請在答案紙上寫下 temp_018 前三筆的結果
CREATE TABLE temp_018
SELECT *
FROM ordering_018
WHERE p <= '12' ORDER BY s DESC;
04-18 12:17:
-- 5. 列出 product_018 資料表中,未被訂購者的 P_id (產品編號)與 cost(單價)。
-- 請在答案紙上寫下前三筆的結果
SELECT p_id, cost
FROM product_018
WHERE p_id not in ( SELECT DISTINCT p FROM ordering_018);
04-18 12:18:
-- 7. 列出 supplier_018 資料表中 有訂購 30 號產品者(P=30)的 廠商編號 (s_id), 廠商名稱 (s_name), 與 地址 (address)
-- 請在答案紙上寫下結果
SELECT *
FROM supplier_018
WHERE s_id IN (SELECT DISTINCT s FROM ordering_018);
04-18 12:18:
-- 8. 列出訂購總金額加總為後五名者 (最少的5家) 的S,P,qty,cost,與訂購總金額加總
-- 請在答案紙上寫下前三筆的結果
ELECT *, SUM(OO.qty*PP.cost) AS tot
FROM ordering_018 OO JOIN product_018 PP
ON OO.p = PP.p_id
GROUP BY OO.s ORDER BY tot;
04-18 12:18:
-- 9. 列出 未有訂購產品 的廠商編號 (s_id)、名稱(s_name),與地址 (address)。
-- 請在答案紙上寫下前三筆的結果
SELECT *
FROM supplier_018
WHERE s_id NOT IN (SELECT DISTINCT s FROM ordering_018);
04-18 12:19:
-- 10. 列出 有訂購產品 的廠商編號 (s_id) 與地址 (address),及其訂購的商品編號(p_id)、品名(name),價格 (cost),和數量(qty),
-- 以及各項商品的訂購金額 (qty*cost)。
SELECT *
FROM supplier_014 SS JOIN (SELECT *, OO.qty*PP.cost AS total FROM ordering_014 OO JOIN product_014 PP ON OO.p = PP.p_id) TT
ON SS.s_id = TT.s;
04-18 12:19:
-- 11. 列出 廠商之訂購金額加總 (訂購金額 為 table ordering_018 之訂購量 qty * table product_018 的 價格 cost) 小於 250,000者。
-- >> 寫下 其中最多的一家廠商、與其訂購金額加總
SELECT s, SUM(qty*cost) total
FROM ordering_018 OO JOIN product_018 PP
ON OO.p=PP.p_id
ROUP BY s HAVING total < 250000;
04-18 12:19:
-- 12. 列出 ordering_018 資料表中,被訂購總數量 大於 900 者的 P_id (產品編號)與 總數量
-- >> 在答案紙上寫下來即可
SELECT p_id, product_018.name, SUM(qty) allqty
FROM product_018 JOIN ordering_018
ON product_018.p_id=ordering_018.p
GROUP BY p_id
HAVING allqty > 900;
04-18 12:19:
-- 13. 出訂購總金額最多的一項商品
-- >> 寫下它的 商品編號、與品名
SELECT p, name, SUM(qty*cost) total
FROM product_018 JOIN ordering_018
ON product_018.p_id=ordering_018.p
GROUP BY p ORDER BY total DESC
LIMIT 1;
04-18 12:20:
-- 14. 列出有訂購產品的廠商中,但並沒訂購 '10' 商品的 公司編號 (s_id)
-- >> 寫下它的 公司編號 即可
SELECT s_id
FROM supplier_018
WHERE s_id NOT IN (SELECT DISTINCT s FROM ordering_018 WHERE p=10);
04-18 12:20:
-- 15. 列出 有訂購產品 的廠商編號 (s_id) 與地址 (address),
-- 及其訂購的商品編號(p_id)> '32' 者、品名(name),價格 (cost),和數量(qty),
-- 以及各項商品的訂購金額 (qty*cost)。
-- >> 寫下它的 公司名稱 即可
SELECT s_id, SS.s_name, address
FROM supplier_018 SS
WHERE s_id IN (SELECT DISTINCT s FROM ordering_018 OO WHERE OO.p > 32);
-- 3. 列出 廠商之訂購金額加總大於 80,000者。
-- 訂購金額 為 table ordering_019 之訂購量 qty * table product_019 的 價格 cost
-- 請在答案紙上寫下前三筆的結果
SELECT s, SUM(qty*cost) cc
FROM ordering_019 oo JOIN product_019 pp
ON oo.p = pp.p_id
GROUP BY oo.s
HAVING cc > 80000 ;
04-18 12:22:
-- 4. 按廠商編號 由大到小排序,列出 ordering_019 資料表中 訂購 p 小於等於 '12' 的所有資料列
-- 另存到一個資料表 temp_xxx
-- 請在答案紙上寫下 temp_xxx 前三筆的結果
CREATE TABLE temp_019
SELECT *
FROM ordering_019
WHERE p <= '12'
ORDER BY s DESC;
04-18 12:22:
-- 5. 列出 product_019 資料表中,未被訂購者的 P_id (產品編號)與 cost(單價)。
-- 請在答案紙上寫下前三筆的結果
SELECT p_id,cost
FROM product_019
WHERE p_id not in
(SELECT DISTINCT P FROM ordering_019);
04-18 12:23:
-- 7. 列出 supplier_019 資料表中 有訂購 30 號產品者(P=30)的 廠商編號 (s_id), 廠商名稱 (s_name), 與 地址 (address)
-- 請在答案紙上寫下結果
SELECT *
FROM supplier_019
WHERE s_id IN
(SELECT DISTINCT s FROM ordering_019);
04-18 12:23:
4. 按廠商編號 由大到小排序,列出 ordering_018 資料表中 訂購 p 小於等於 '12' 的所有資料列 -- 另存到一個資料表 temp_018 -- 請在答案紙上寫下 temp_018 前三筆的結果 CREATE TABLE temp_018 SELECT * FROM ordering_018 WHERE p <= '12' ORDER BY s DESC;
04-18 12:23:
-- 8. 列出訂購總金額加總為後五名者 (最少的5家) 的S,P,qty,cost,與訂購總金額加總
-- 請在答案紙上寫下前三筆的結果
SELECT *, SUM(OO.qty*PP.cost) AS tot
FROM ordering_019 OO JOIN product_019 PP
ON OO.p = PP.p_id
GROUP BY OO.s ORDER BY tot;
04-18 12:23:
-- 9. 列出 未有訂購產品 的廠商編號 (s_id)、名稱(s_name),與地址 (address)。
-- 請在答案紙上寫下前三筆的結果
SELECT *
FROM supplier_019
WHERE s_id NOT IN (SELECT DISTINCT s FROM ordering_019);
04-18 12:23:
-- 10. 列出 有訂購產品 的廠商編號 (s_id) 與地址 (address),及其訂購的商品編號(p_id)、品名(name),價格 (cost),和數量(qty),
-- 以及各項商品的訂購金額 (qty*cost)。
-- 請在答案紙上寫下前三筆的結果
SELECT *
FROM supplier_019 SS JOIN (SELECT *, OO.qty*PP.cost AS total FROM ordering_019 OO JOIN product_019 PP ON OO.p = PP.p_id) TT
ON SS.s_id = TT.s;
04-18 12:24:
-- 11. 列出 廠商之訂購金額加總 (訂購金額 為 table ordering_xxx 之訂購量 qty * table product_xxx 的 價格 cost) 小於 250,000者。
-- >> 寫下 其中最多的一家廠商、與其訂購金額加總
SELECT s, SUM(qty*cost) total
FROM ordering_019 OO JOIN product_019 PP
ON OO.p=PP.p_id
GROUP BY s
HAVING total < 250000;
04-18 12:24:
-- 12. 列出 ordering_xxx 資料表中,被訂購總數量 大於 900 者的 P_id (產品編號)與 總數量
-- >> 在答案紙上寫下來即可
SELECT p_id, product_019.name, SUM(qty) allqty
FROM product_019 JOIN ordering_019
ON product_019.p_id=ordering_019.p
GROUP BY p_id
HAVING allqty > 900;
04-18 12:24:
-- 13. 出訂購總金額最多的一項商品
-- >> 寫下它的 商品編號、與品名
SELECT p, name, SUM(qty*cost) total
FROM product_019
JOIN ordering_019
ON product_019.p_id=ordering_019.p
GROUP BY p ORDER BY total
DESC LIMIT 1;
04-18 12:24:
-- 14. 列出有訂購產品的廠商中,但並沒訂購 '10' 商品的 公司編號 (s_id)
-- >> 寫下它的 公司編號 即可
SELECT s_id
FROM supplier_019
WHERE s_id NOT IN
(SELECT DISTINCT s FROM ordering_019 WHERE p=10);
04-18 12:24:
-- 15. 列出 有訂購產品 的廠商編號 (s_id) 與地址 (address),及其訂購的商品編號(p_id)> '32' 者、品名(name),價格 (cost),和數量(qty),
-- 以及各項商品的訂購金額 (qty*cost)。
-- >> 寫下它的 公司名稱 即可
SELECT s_id, SS.s_name, address
FROM supplier_019 SS
WHERE s_id IN
(SELECT DISTINCT s FROM ordering_019 OO WHERE OO.p > 32);
4. 按廠商編號 由大到小排序,列出 ordering_017 資料表中 訂購 p 小於等於 '12' 的所有資料列 -- 另存到一個資料表 temp_017 -- 請在答案紙上寫下 temp_017 前三筆的結果 CREATE TABLE temp_018 SELECT * FROM ordering_017 WHERE p <= '12' ORDER BY s DESC;
04-20 15:05:
5. 列出 product_017 資料表中,未被訂購者的 P_id (產品編號)與 cost(單價)。 -- 請在答案紙上寫下前三筆的結果 SELECT p_id, cost FROM product_017 WHERE p_id not in ( SELECT DISTINCT p FROM ordering_017);
04-20 15:14:
7. 列出 supplier_017 資料表中 有訂購 30 號產品者(P=30)的 廠商編號 (s_id), 廠商名稱 (s_name), 與 地址 (address) -- 請在答案紙上寫下結果 SELECT * FROM supplier_017 WHERE s_id IN (SELECT DISTINCT s FROM ordering_017);
04-20 15:15:
8. 列出訂購總金額加總為後五名者 (最少的5家) 的S,P,qty,cost,與訂購總金額加總 -- 請在答案紙上寫下前三筆的結果 SELECT *, SUM(OO.qty*PP.cost) AS tot FROM ordering_xxx OO JOIN product_xxx PP ON OO.p = PP.p_id GROUP BY OO.s ORDER BY tot;
04-20 15:16:
9. 列出 未有訂購產品 的廠商編號 (s_id)、名稱(s_name),與地址 (address)。 -- 請在答案紙上寫下前三筆的結果 SELECT * FROM supplier_017 WHERE s_id NOT IN (SELECT DISTINCT s FROM ordering_017);
04-20 15:18:
10. 列出 有訂購產品 的廠商編號 (s_id) 與地址 (address),及其訂購的商品編號(p_id)、品名(name),價格 (cost),和數量(qty), -- 以及各項商品的訂購金額 (qty*cost)。 -- 請在答案紙上寫下前三筆的結果 SELECT * FROM supplier_017 SS JOIN (SELECT *, OO.qty*PP.cost AS total FROM ordering_017 OO JOIN product_017 PP ON OO.p = PP.p_id) TT ON SS.s_id = TT.s;
04-20 15:39:
11. 列出 廠商之訂購金額加總 (訂購金額 為 table ordering_017 之訂購量 qty * table product_017 的 價格 cost) 小於 250,000者。 -- >> 寫下 其中最多的一家廠商、與其訂購金額加總 SELECT s, SUM(qty*cost) total FROM ordering_017 OO JOIN product_017 PP ON OO.p=PP.p_id ROUP BY s HAVING total < 250000;
04-20 15:41:
12. 列出 ordering_017 資料表中,被訂購總數量 大於 900 者的 P_id (產品編號)與 總數量 -- >> 在答案紙上寫下來即可 SELECT p_id, product_017.name, SUM(qty) allqty FROM product_017 JOIN ordering_017 ON product_017.p_id=ordering_017.p GROUP BY p_id HAVING allqty > 900;
04-20 15:42:
13. 出訂購總金額最多的一項商品 -- >> 寫下它的 商品編號、與品名 SELECT p, name, SUM(qty*cost) total FROM product_xxx JOIN ordering_xxx ON product_xxx.p_id=ordering_xxx.p GROUP BY p ORDER BY total DESC LIMIT 1;
04-20 15:43:
14. 列出有訂購產品的廠商中,但並沒訂購 '10' 商品的 公司編號 (s_id) -- >> 寫下它的 公司編號 即可 SELECT s_id FROM supplier_017 WHERE s_id NOT IN (SELECT DISTINCT s FROM ordering_017 WHERE p=10);
04-20 15:44:
15. 列出 有訂購產品 的廠商編號 (s_id) 與地址 (address), -- 及其訂購的商品編號(p_id)> '32' 者、品名(name),價格 (cost),和數量(qty), -- 以及各項商品的訂購金額 (qty*cost)。 -- >> 寫下它的 公司名稱 即可 SELECT s_id, SS.s_name, address FROM supplier_017 SS WHERE s_id IN (SELECT DISTINCT s FROM ordering_017 OO WHERE OO.p > 32);
3. 列出 廠商之訂購金額加總大於 80,000者。 -- 訂購金額 為 table ordering_017 之訂購量 qty * table product_017 的 價格 cost -- 請在答案紙上寫下前三筆的結果 SELECT s, SUM(qty*cost) cc FROM ordering_017 oo JOIN product_017 pp ON oo.p = pp.p_id GROUP BY oo.s HAVING cc > 80000 ;
05-09 10:16:
-- 1. 列出 ordering_xxx 資料表(Relation)中 S (以廠商作為別名 alias)、P、QTY (以訂購量作為別名)。
-- 請在答案紙上寫下前三筆的結果
SELECT s "廠商", p, qty "訂購量"
FROM ordering_014
LIMIT 3;
05-09 10:18:
-- 2. ordering_xxx 資料表中,各P (產品編號)之訂購量加總
SELECT p, SUM(qty)
FROM ordering_014
GROUP BY p;
05-09 10:26:
-- 3. 列出 廠商之訂購金額加總大於 80,000者。
-- 訂購金額 為 table ordering_xxx 之訂購量 qty * table product_xxx 的 價格 cost -- 請在答案紙上寫下前三筆的結果
SELECT s, SUM(qty*cost) cc
FROM ordering_014 OO JOIN product_014 PP
ON OO.p = PP.p_id
GROUP BY OO.s
HAVING cc > 80000;
05-09 10:40:
-- 4. 按廠商編號 由大到小排序,列出 ordering_014 資料表中 訂購 p 小於等於 '12' 的所有資料列 -- 另存到一個資料表 temp_014
-- 請在答案紙上寫下 temp_014 前三筆的結果
CREATE TABLE temp_014
SELECT * FROM ordering_014
WHERE p <= '12' ORDER BY s DESC;
05-09 10:41:
-- 5. 列出 product_014 資料表中,未被訂購者的 P_id (產品編號)與 cost(單價)。
-- 請在答案紙上寫下前三筆的結果
SELECT p_id, cost FROM product_014
WHERE p_id not in ( SELECT DISTINCT p FROM ordering_014);
05-09 10:47:
-- 7. 列出 supplier_014 資料表中 有訂購 30 號產品者(P=30)的 廠商編號 (s_id), 廠商名稱 (s_name), 與 地址 (address)
-- 請在答案紙上寫下結果
SELECT * FROM supplier_014
WHERE s_id IN (SELECT DISTINCT s FROM ordering_014);
05-09 10:50:
-- 8. 列出訂購總金額加總為後五名者 (最少的5家) 的S,P,qty,cost,與訂購總金額加總 -- 請在答案紙上寫下前三筆的結果
SELECT *, SUM(OO.qty*PP.cost) AS tot
FROM ordering_014 OO
JOIN product_014 PP ON OO.p = PP.p_id
GROUP BY OO.s ORDER BY tot;
05-09 10:53:
-- 9. 列出 未有訂購產品 的廠商編號 (s_id)、名稱(s_name),與地址 (address)。 -- 請在答案紙上寫下前三筆的結果
SELECT * FROM supplier_014
WHERE s_id NOT IN (SELECT DISTINCT s FROM ordering_014);
05-09 10:55:
-- 10. 列出 有訂購產品 的廠商編號 (s_id) 與地址 (address),及其訂購的商品編號(p_id)、品名(name),價格 (cost),和數量(qty), -- 以及各項商品的訂購金額 (qty*cost)。
SELECT * FROM supplier_014 SS
JOIN (SELECT *, OO.qty*PP.cost AS total FROM ordering_014 OO
JOIN product_014 PP ON OO.p = PP.p_id) TT ON SS.s_id = TT.s;