イライラしながらアクセス(access)のSQLを触る

  • LEFT JOIN は INNER JOIN にはならない。LEFT OUTER JOIN 扱い。
  • LEFT INNER JOIN はエラーになるので、 INNER JOIN
  • FROM の後、テーブルを複数記述した場合、joinをつける事ができない
    • なので、joinを1個でもつけるときは全join
select * from table1, table2 left join table3

↑table1,table2が2つあるのにjoinしようとしてるからエラー、Fuck.

  • JOIN ON の後の部分は全て括弧で囲わなくてはならない
select * from table1 inner join table2 on (a=b AND c=d)

↑ 括弧いらなくね? でも外すとエラー出る

  • JOIN を使う時に括弧を付けてネストしまくる必要がある
SELECT * FROM
(
 (
  (
   table1 INNER JOIN table2 ON a=b
  )
  LEFT OUTER JOIN table3 ON c=d
 )
 INNER JOIN table4 ON e=f
)
WHERE g=h

↑閉じながら書かなきゃいけないので凄く書きづらい