すぐ分かる!SQL where句の複数条件指定。
andを用いてより厳しい条件をつける
andを重ねていくことでselectの実行結果は絞られていきます。
例えば次のクエリであれば、「誕生日が1998年1月14日以降の人」
という条件ですが、
select
e.salary,
e.name
from
employee e
where
e.birth > '1998-01-14'
この条件に「住所が東京の人」という条件を付け加えたければ次のようにandを付け加えて条件を書き込みます
select
e.salary,
e.name
from
employee e
where
e.birth > '1998-01-14'
and e.location = '東京' --追加されたコード
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はとても便利なのです。
備考
title:すぐ分かる!where句の複数条件追加方法【SQL基礎】
category_script:page_name.startswith("1")
img:https://www.oreilly.co.jp/books/images/picture_large4-87311-281-8.jpeg
page:https://minegishirei.hatenablog.com/entry/2024/04/30/081315