概要
LEFT JOIN(LEFT OUTER JOIN)の実行例。 なお、結合できなかった部分はnullになる。
実行例
select
A.sign_date
, A.user_id
, B.name
from
sign_history A
left join
user B
on
A.user_id = B.user_id
;
環境
- Windows 10 64bit
- SQLite3 (3.39.2) Command-Line Shell
sqlite> .nullvalue [null]
sqlite> .mode box
sqlite> select * from sign_history;
┌────────────┬─────────┐
│ sign_date │ user_id │
├────────────┼─────────┤
│ 2022-12-01 │ 0001 │
│ 2022-12-04 │ 0002 │
│ 2022-12-08 │ 0001 │
│ 2022-12-08 │ 0003 │
└────────────┴─────────┘
sqlite> select * from user;
┌─────────┬───────────┐
│ user_id │ name │
├─────────┼───────────┤
│ 0001 │ ito │
│ 0002 │ takahashi │
└─────────┴───────────┘
sqlite> select
...> A.sign_date
...> , A.user_id
...> , B.name
...> from
...> sign_history A
...> left join
...> user B
...> on
...> A.user_id = B.user_id
...> ;
┌────────────┬─────────┬───────────┐
│ sign_date │ user_id │ name │
├────────────┼─────────┼───────────┤
│ 2022-12-01 │ 0001 │ ito │
│ 2022-12-04 │ 0002 │ takahashi │
│ 2022-12-08 │ 0001 │ ito │
│ 2022-12-08 │ 0003 │ [null] │
└────────────┴─────────┴───────────┘
参考URL
-
SQLite 公式サイト(英語)
https://www.sqlite.org/index.html -
SQLite From句に関するドキュメント
https://www.sqlite.org/lang_select.html#determination_of_input_data_from_clause_processing_