SQLの勘違い: SELECT 1 FROM table の実際の動作

はじめに

データベースとのやりとりにおいて、私が誤解したあるSQLの動作についてお話しします。それは、SELECT 1 FROM table というクエリです。一見すると、このクエリは1つだけの1を返すように思えるかもしれませんが、その実際の動作を見てみましょう。

SELECT 1 FROM table の動作

以下のようなデータがある users テーブルを例にとります。

id username
1 Tarou
2 Jirou

以下のSQLの実行結果を確認します。

SELECT 1 FROM users

以下のような結果が返されます。

column
1
1

上記の結果から、SELECT 1 はテーブルの各行に対して1を返すことが確認できます。今回の場合、usersテーブルには2行のデータがあるため、2回1が返されました。

終わりに

さて、今回はある意味「当たり前」のようなSELECT 1 FROM tableについて触れてみました。このクエリ、レコードの存在チェックするときとかに利用されます。でも、ちゃんとどう動くのか理解してないと、意図しない結果が返ってきて驚くことも…。
最後に、この記事をよんでいただきありがとうございます。引き続きデータベースやSQLに関する学びを深めていきます。

コメント

タイトルとURLをコピーしました