この動画では、テーブルとテーブルを結合する方法について解説をします。
テーブル同士の結合は、JOINを使います。
このJOINにも種類が4つあります。
inner join、left join,right join,outer joinの4つです。
▼目次
00:00 はじめに、テーブル結合のJOINについて
02:10 INNER JOIN(内部結合)の使い方
05:06 INNER JOINで全てのカラムを出力
06:07 LEFT JOINの使い方
07:35 LEFT JOINで全てのカラムを出力
08:42 おわりに
▼関連動画
【SQL超入門講座】01.コース紹介 ~ SQLとは? ~ 環境構築|初心者向け
【SQL超入門講座】02.データベースのテーブルとは?
【SQL超入門講座】03.SELECT文|SQLの基本中の基本
【SQL超入門講座】04.WHERE|特定の条件でデータを抽出する方法
【SQL超入門講座】05.ORDER BY|データの並び替え
【SQL超入門講座】06.GROUP BY|グルーピング、グループ化
【SQL超入門講座】07.HAVING|グループ化したデータの中からデータ抽出
Pythonの便利ライブラリ「Pandas入門講座」合併版|Pandasの基本的なこと3時間で学べます【Python超入門コースの次におすすめの入門講座】
▼書き起こし
例えば、2つテーブルがあったとします。
1つめのテーブルは、高橋さん、伊藤さん、鈴木さん、佐藤さんの数学の点数が記録されたテーブル。
2つめのテーブルは、1つめのテーブルと共通して高橋さん、伊藤さんが記録されており、1つめのテーブルにいないのが渡辺さん、加藤さんで、このテーブルには国語の点数が記録されています。
この氏名の部分を共通キーに2つのテーブルを結合することができます。
そして、inner joinをすると、共通しているレコードのみ結合します。
つまり、高橋さん、伊藤さんのレコードのみ抽出されます。
left joinをすると、左のテーブルのデータはすべて抽出して、右のテーブルにはないものはNULLで返されます。
right joinも同様で、右のテーブルのデータはすべて抽出して、左のテーブルにはないものはNULLで返されます。
outer joinは、どちらかのテーブルにあるレコードのすべてが返されます。
これだけだとわかりにくいともいますので、レッスンで詳しく解説します。
ちなみに、PythonのライブラリPandas入門講座をみていただいている方はこのjoinはmergeメソッドと同じ役割です。
キノコードでは、人気言語のPython超入門講座、Pythonを使ったデータ集計データ加工のPandas入門講座、仕事の自動化の講座、人工知能のレッスンもアップしています。
チャンネル登録していただけますと新着通知がいきますので、ぜひチャンネル登録をお願いします。
それではパソコン画面に切り替えてレッスンを進めていきます。
まずは、INNER JOINから解説をします。
INNER JOINは、テーブルとテーブルを結合するためのものです。
内部結合といったりもします。
SELECTにINNER JOINを付けることで、複数のテーブルから必要なデータを取得できるようになります。
しかし、テーブルを結合するには色々とルールが存在します。
テーブルの結合はSQLの学習でハマりがちな部分なので、一つずつしっかりと見ていきましょう。
“`sql
SELECT
カラム
FROM
テーブル名 A
INNER JOIN
テーブル名 B
ON
A.キー = B.キー
WHERE
条件式
“`
SELECTにINNER JOINを追加した構文は以下の通りです。
INNER JOINはFROMとWHEREの間に記述します。
FROMとINNER JOINは、どのテーブルからデータを抽出を決めるものなので、近い場所にあると分かりやすくていいですね。
以前のレッスンで、テーブル名にasをつけると別名を付けることができるとお伝えしました。
このasは省略することができ、テーブル名の後にスペースを一つ空けて別名をつけることができます。
この構文のAとBがそれに該当します。
次のONですが、これは実際に使って見ながらお話しします。
それでは実際にINNER JOINを使ってみましょう。
今回使用するテーブルは2つです。
1つ目はtest01というテーブルです。
氏名、出席番号、数学の点数が記録されています。
2つめはtest02というテーブルです
こちらには、氏名、出席番号、国語の点数が記録されています。
(続く)
▼書き起こしブログ
(準備中)
▼自己紹介
ブログに自己紹介を書いております。
▼SNS
Twitter : https://twitter.com/kino_code/likes
Facebook : https://www.facebook.com/%E3%82%AD%E3…
Website : https://kino-code.com/
#SQL #データベース #INNNER JOIN #LEFT JOIN #結合 #SQLite
コメント