某案件で前任者が書いたSQLに以下のようなものがあった。
1 |
select * from table_a, table_b where table_a.c = table_b.c; |
疑問に思ったので調べると、「table_aとtable_bの総当たりの組み合わせから両方のテーブルのcが等しいものだけ抽出」という意味らしい。join句を使って書き直すと以下のようになるらしい。
1 |
select * from (table_a join table_b on table_a.c = table_b.c); |
参考サイト
SQL で複数テーブルを使う時の書き方は? – i am BEST
http://seesaawiki.jp/w/i_am_best/d/SQL%20%A4%C7%CA%A3%BF%F4%A5%C6%A1%BC%A5%D6%A5%EB%A4%F2%BB%C8%A4%A6%BB%FE%A4%CE%BD%F1%A4%AD%CA%FD%A4%CF%3F
[SQL] 6. テーブルの結合 2 | TECHSCORE(テックスコア)
http://www.techscore.com/tech/sql/SQL6/06_02.html/