การใช้ WHERE clause เพื่อดึงข้อมูลทั้งหมดใน MySQL
สามารถใช้ตัวดำเนินการ LIKE กับ Pattern '%' เพื่อจับคู่ทุกค่าได้ (แม้จะไม่เป็นวิธีที่ดีที่สุด)
SELECT * FROM yourTableName WHERE yourColumn LIKE '%';
ตัวอย่างการใช้งาน
สร้างตารางและเพิ่มข้อมูล:
mysql> create table DemoTable (Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, Name varchar(20));
mysql> insert into DemoTable(Name) values('Larry');
mysql> insert into DemoTable(Name) values('John');
mysql> insert into DemoTable(Name) values('Bob');
mysql> insert into DemoTable(Name) values('Carol');
mysql> insert into DemoTable(Name) values('Chris');
mysql> insert into DemoTable(Name) values('David');
mysql> insert into DemoTable(Name) values('Mike');
mysql> insert into DemoTable(Name) values('Sam');
คิวรีด้วย WHERE LIKE '%':
mysql> select * from DemoTable where Name like '%';
+----+-------+ | Id | Name | +----+-------+ | 1 | Larry | | 2 | John | | 3 | Bob | | 4 | Carol | | 5 | Chris | | 6 | David | | 7 | Mike | | 8 | Sam | +----+-------+
วิธีที่ดีกว่า (Best Practice):
SELECT * FROM yourTableName;
ไม่ต้องใช้ WHERE clause เลย หากต้องการข้อมูลทั้งหมด | เร็วกว่า อ่านง่ายกว่า และเป็นมาตรฐาน SQL
เมื่อไหร่ควรใช้ WHERE LIKE '%': เฉพาะกรณีที่ต้องสร้าง Dynamic Query ที่ต้องมี WHERE clause เสมอ (เช่น Application สร้าง Query โดยมีเงื่อนไข Optional) | แม้จะทำงานได้ แต่ Optimizer อาจไม่ใช้ Index ได้เต็มที่