概要
CROSS JOINの実行例。
公式のドキュメントによると
SQLの最適化に影響があるとのこと。
使用を避けられるのであれば避けたほうがよさそう。
実行例
select
A.table_num
, B.table_key
from
table_num A
cross join
table_key B
;
環境
- Windows 10 64bit
- SQLite3 (3.39.2) Command-Line Shell
sqlite> .mode box
sqlite> select * from table_num;
┌────────┐
│ id_num │
├────────┤
│ 0001 │
│ 0002 │
│ 0003 │
└────────┘
sqlite> select * from table_key;
┌────────┐
│ id_key │
├────────┤
│ AAA1 │
│ BBB2 │
│ CCC3 │
└────────┘
sqlite> select
...> A.id_num
...> , B.id_key
...> from
...> table_num A
...> cross join
...> table_key B
...> ;
┌────────┬────────┐
│ id_num │ id_key │
├────────┼────────┤
│ 0001 │ AAA1 │
│ 0001 │ BBB2 │
│ 0001 │ CCC3 │
│ 0002 │ AAA1 │
│ 0002 │ BBB2 │
│ 0002 │ CCC3 │
│ 0003 │ AAA1 │
│ 0003 │ BBB2 │
│ 0003 │ CCC3 │
└────────┴────────┘
参考URL
-
SQLite 公式サイト(英語)
https://www.sqlite.org/index.html -
SQLite CROSS JOIN に関するドキュメント
https://www.sqlite.org/lang_select.html#special_handling_of_cross_join_