標量子查詢:返回一行一列的子查詢,相當於一個常數;在主查詢的WHERE或SELECT或HAVING後。
關聯子查詢:返回一列數據,子查詢的結果與主查詢的目標列存在一定關聯;在主查詢WHERE後。
普通子查詢:返回一列數據,將子查詢的列作爲主查詢的取值範圍;在主查詢WHERE後,常與IN配套使用。
內聯結:INNER JOIN…ON…;
外聯結:左外聯結LEFT OUTER JOIN…ON…;右外聯結RIGHT OUTER JOIN…ON…;全聯結FULL OUTER JOIN…ON…
標量子查詢
-- 所有潔雲牌抽紙的銷售流水
SELECT * FROM order_list WHERE prod_id IN (SELECT prod_id FROM prod_info WHERE prod_name = '抽紙' AND brand = '潔雲');
關聯子查詢
-- 各類商品中,價格高於該類商品均價的部分
SELECT p1.* FROM prod_info AS p1 WHERE sale_price > (SELECT AVG(sale_price) FROM prod_info AS p2 WHERE p1.class = p2.class GROUP BY class);
內聯結
-- -- 所有潔雲牌抽紙的銷售流水
SELECT * FROM prod_info AS p INNER JOIN order_list AS l ON p.prod_name = '抽紙' AND p.brand = '潔雲' AND p.prod_id = l.prod_id;
右外聯結
-- 所有商品的銷量
SELECT p.*, SUM(l.quantity) AS 銷售量 FROM order_list AS l RIGHT OUTER JOIN prod_info AS p ON l.prod_id = p.prod_id GROUP BY p.prod_id;