কম্পিউটার টিউটোরিয়াল

MySQL-এ 'SELECT 1 FROM table' এর অর্থ কী?

যেকোনো টেবিল থেকে SELECT 1 স্টেটমেন্ট মানে এটি শুধু ১ রিটার্ন করে। উদাহরণস্বরূপ, যদি কোনো টেবিলে ৪টি রেকর্ড থাকে তবে এটি ১ কে চারবার রিটার্ন করবে।

উদাহরণ দেখি। প্রথমে একটি টেবিল তৈরি করব CREATE কমান্ড ব্যবহার করে।

mysql> CREATE TABLE StudentTable
-> (
-> id int,
-> name varchar(100)
-> );
Query OK, 0 rows affected (0.51 sec)

রেকর্ড ইনসার্ট

mysql> INSERT INTO StudentTable VALUES (1,'John'),(2,'Carol'),(3,'Smith'),(4,'Bob');
Query OK, 4 rows affected (0.21 sec)
Records: 4 Duplicates: 0 Warnings: 0

সকল রেকর্ড দেখুন:

mysql> SELECT * FROM StudentTable;

আউটপুট:

+------+-------+
| id   | name  |
+------+-------+
| 1    | John  |
| 2    | Carol |
| 3    | Smith |
| 4    | Bob   |
+------+-------+
4 rows in set (0.00 sec)

"SELECT 1" প্রয়োগ

mysql> SELECT 1 FROM StudentTable;

আউটপুট:

+---+
| 1 |
+---+
| 1 |
| 1 |
| 1 |
| 1 |
+---+
4 rows in set (0.00 sec)

উপরে ৪টি রেকর্ডের জন্য ১ কে চারবার রিটার্ন করেছে। ৫টি রেকর্ড থাকলে পাঁচবার রিটার্ন করত।

Note: It returns 1 N times, if the table has N records.

ব্যবহার: EXISTS (SELECT 1 FROM tbl WHERE ...) প্যাটার্নে ব্যবহার হয় কারণ পুরো সারি ফেচ করার চেয়ে কনস্ট্যান্ট ১ ফেচ করা হালকা। অপ্টিমাইজার সাধারণত SELECT * কেও একইভাবে হ্যান্ডেল করে।

  1. MySQL-এ মাস অনুযায়ী টোটাল বের করা (GROUP BY MONTH)

  2. MySQL에서 ORDER BY RAND()와 LIMIT으로 랜덤 2개 행 선택하기

  3. MySQL-এ স্টোরড প্রসিডিউর থেকে টেবিলের সব রেকর্ড দেখানো

  4. MySQL-এ NOT IN ক্লজ ব্যবহার করে নির্দিষ্ট মান বাদ দিয়ে ডেটা বের করা