July 2021
Intermediate to advanced
376 pages
6h 34m
Japanese
ここまでの内容で、5章で紹介した内部結合がどのようなものであるかがしっかり理解できたと思います。本章では、外部結合やクロス結合を含め、テーブルを結合する他の方法に焦点を合わせます。
ここまでの例はすべて複数のテーブルを扱うものであり、結合条件がテーブルの行から一致するものを見つけられないケースについては考慮してきませんでした。たとえば、inventoryテーブルにはレンタル可能な映画ごとに行が1つ含まれていますが、filmテーブルの1,000本の映画のうち、inventoryテーブルに1つ以上の行が含まれているのは958本だけです。残りの42本の映画はレンタルできないため(おそらく数日以内に入荷する新作でしょう)、inventoryテーブルでは、それらのIDは見つかりません。これら2つのテーブルを結合し、各映画の在庫(コピー)の数を数えてみましょう。
mysql>SELECT f.film_id, f.title, count(*) num_copies->FROM film f->INNER JOIN inventory i->ON f.film_id = i.film_id->GROUP BY f.film_id, f.title;+---------+-----------------------------+------------+ | film_id | title | num_copies | +---------+-----------------------------+------------+ | 1 | ACADEMY DINOSAUR | 8 | | 2 | ACE GOLDFINGER | 3 | ...
Read now
Unlock full access