"1=1"がSQLで使われる理由

1=1を追加している訳

他の方のプログラムを呼んでいくと次のようなプログラムに出会うことがあります。

select
    e.salary,
    e.name
from
    employee e
where 1=1 --?????
and e.birth > '1998-01-14'
and e.location = '東京'

このコードのメリットはandの条件をつけたり消したりが楽に行えることです。

例えば先のコードで「 e.birth > '1998-01-14'」という条件が邪魔だと感じた時、

安易にコメントアウトするとエラーが発生します。

select
    e.salary,
    e.name
from
    employee e
where 
    -- e.birth > '1998-01-14' --コメントは無視されるのでwhereの後にいきなりandがきてしまう
and e.location = '東京'

ですがあらかじめ、whereくの後に「1=1」を追加しておくと

select
    e.salary,
    e.name
from
    employee e
where 1=1 --?????
--and e.birth > '1998-01-14' --1=1の後にandがくるためエラーにならない
and e.location = '東京'

確実に 「1=1」の後にandがくるためエラーになりません。

条件をつけたり消したりをするときに1=1はとても便利なのです。