1. ホーム
  2. sql

[解決済み] SELECT * FROM tablename WHERE 1

2022-07-14 15:17:39

質問

ずっと気になっていました。それぞれのクエリの違いは何でしょうか。

  1. SELECT * FROM `tablename`

  2. SELECT * FROM `tablename` WHERE 1

  3. SELECT * FROM `tablename` WHERE 1=1

どのように解決するのですか?

2と3はMySQLでは同じで、機能的には1も同じです。

where 1 は標準ではないので、他の人が指摘したように、他の方言では動作しません。

人々は where 1 または where 1 = 1 だから where を追加したりコメントアウトしたりすることで、クエリに簡単に条件を追加したり削除したりすることができます。 and ..."コンポーネントを追加します。

すなわち

SELECT * FROM `tablename` WHERE 1=1
--AND Column1 = 'Value1'
AND Column2 = 'Value2'