SQL中の謎の =* という演算子について(SQLServer 2000)
既存の SQLServer 2000 を使用しているシステムの SQL に謎の SQL があった
適当にサンプルを上げるとこんな感じ。
1 | select a.col1 , b.col2 |
WHERE 条件の *=とか、=*とかなんだこれ?と思ってググってみたけれどもヒットしない。
列名から JOIN 絡みの何かだろうと当たりをつけて試してみた結果
1 | *= → LEFT JOIN |
だった。なんか黒歴史みたいなものに触れてしまった感じだ。
ちなみに、これは最近の SQLServer では使用できず、エラー扱いになる模様。
追記
ちなみに、Oracle にも同様の記法がある。コメント欄で教えて頂いた通り、
LEFT JOIN/RIGHT JOIN が制定される前の名残だろうか。
1 | select a.col1 , b.col2 |
1 | where |
JOIN したい方に(+) を付けるだけ。今でも使えますが、標準 SQL で書いた方が無難。