[解決済み] SQL文にWHERE 1=1を使用する目的は何ですか?[重複しています]。
2022-03-05 14:20:55
質問
重複の可能性があります。
なぜSQLクエリに "where 1 = 1 "があるのでしょうか?
なぜSQLの句でWHERE 1=1 AND <conditions>を使用するのでしょうか?
いろいろなクエリの例でよく見かけますが、おそらくすべてのSQLエンジンに通じます。
条件が定義されていないクエリがある場合、人々は (特に ORM フレームワーク)、常に真である条件を追加することがよくあります。
WHERE 1 = 1
とか、そんな感じです。
だから、代わりに
SELECT id, name FROM users;
を使用しています。
SELECT id, name FROM users WHERE 1 = 1;
唯一考えられる理由は、動的に条件を追加している場合、最初の
AND
が、それでもかなりの頻度でこの
1 = 1
の条件は、クエリに実際の条件がある場合は取り除かれます。
CakePHPの実例(フレームワークで生成)。
(条件なし)
SELECT `User`.`id`, `User`.`login`
FROM `users` AS `User` WHERE 1 = 1
ORDER BY `User`.`id` ASC;
(条件付き)
SELECT `User`.`id`, `User`.`login`
FROM `users` AS `User`
WHERE `User`.`login` = '[email protected]'
LIMIT 1;
この条件を追加した理由は何でしょうか?
どのように解決するのですか?
ああ、典型的には『where 1 = 0』で始まるから、強制的にステートメントを失敗させるんだ。
クエリのテストのために、トランザクションでラップして、最後にコミットしない方が、より素朴な方法だと思います。(これは望ましい方法です)。
関連
-
[解決済み] テスト
-
[解決済み] アクセスクエリーエラー(from句のシンタックスエラー)
-
[解決済み] MySQLでコマンドラインを使用してSQLファイルをインポートするにはどうすればよいですか?
-
[解決済み] SQL Server の DateTime データ型から日付だけを返す方法
-
[解決済み] UNIONとUNION ALLの違いは何ですか?
-
[解決済み] SQL JOIN - WHERE句とON句の比較
-
[解決済み] SQL SELECT WHERE フィールドに単語が含まれる場合
-
[解決済み】「INNER JOIN」と「OUTER JOIN」の違いは何ですか?
-
[解決済み] SQL ServerでINNER JOINを使用して削除するにはどうすればよいですか?
-
[解決済み】結合を使用したSQL更新クエリ
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】2つの列を分割する方法は?
-
[解決済み] テスト
-
[解決済み】SQL ServerでIdentityカラムを更新する方法は?
-
[解決済み】警告。Aqua Data Studioの集約や他のSET操作でNull値が排除される。
-
[解決済み] アンピボットの主キーを含む対象コードページで、テキストが切り捨てられたか、1つ以上の文字が一致しない。
-
[解決済み] pg_restoreです。[archiver] 入力ファイルはテキスト形式のダンプであるように見えます。psql を使用してください。
-
[解決済み] データ型 varchar の変換エラー
-
[解決済み] SQLクエリで2つの列から値を引き算する
-
[解決済み] Ruby On Rails で NuoDB を使用して SQL コマンドを手動で実行する方法
-
[解決済み】なぜSQL句でWHERE 1=1 AND <conditions>を使用するのでしょうか?