ray88’s diary

お仕事で困ったとき用の自分用の覚書

SQL RIGHT JOIN....ON句/LEFT JOIN....ON句 (外部結合で複数テーブルのデータを結合する)

■LEFT JOIN
左テーブルの内容全てと右テーブルの関連付けられた値のみ取り出す(左外部結合)
■RIGHT JOIN:
右テーブルの内容全てと左テーブルの関連付けられた値のみ取り出す(右外部結合)

■サンプルコード(RIGHT JOIN)

SELECT
	p.p_name AS 商品名
	,p.price AS 単価
    ,SUM(o.quantity) AS 数量
	,SUM(p.price * o.quantity) AS 合計金額
FROM
	order_desc AS o
RIGHT JOIN
	product AS p
ON
	p.p_id = o.p_id
GROUP BY
	p.p_id
	,p.p_name
	,p.price
ORDER BY
	SUM(p.price * o.quantity) DESC
;

出力結果
f:id:ray88:20210701200128p:plain
f:id:ray88:20210701200934p:plain