SQL การใช้งาน SELECT Statement

น SQL, คำสั่ง SELECT ใช้เพื่อดึงข้อมูลจากฐานข้อมูล คำสั่งนี้เป็นพื้นฐานของการดึงข้อมูลจากตารางในฐานข้อมูล และสามารถประยุกต์ใช้งานได้หลายรูปแบบ เช่น การเลือกเฉพาะบางคอลัมน์ การกรองข้อมูล การจัดกลุ่มข้อมูล หรือการเรียงลำดับข้อมูลได้

การใช้งาน SELECT เบื้องต้น

คำสั่ง SELECT จะดึงข้อมูลจากทุกคอลัมน์ในตาราง มีรูปแบบการใช้งานดังนี้

SELECT * FROM table_name;

ตัวอย่าง

SQL
SELECT * FROM employees;

คำสั่งนี้จะดึงข้อมูลทั้งหมดจากตาราง employees

การเลือกเฉพาะคอลัมน์ที่ต้องการ

เราสามารถระบุเฉพาะคอลัมน์ที่ต้องการแสดงข้อมูลได้ โดยมีรูปแบบการใช้งานดังนี้

SELECT column1, column2 FROM table_name;

ตัวอย่าง

SQL
SELECT first_name, last_name FROM employees;

คำสั่งนี้จะดึงเฉพาะข้อมูลของคอลัมน์ first_name และ last_name จากตาราง employees

การใช้ WHERE เพื่อกรองข้อมูล

คำสั่ง WHERE ใช้เพื่อกรองข้อมูลที่ตรงกับเงื่อนไขที่ระบุ มีรูปแบบการใช้งานดังนี้

SELECT column1, column2 FROM table_name WHERE condition;

ตัวอย่าง

SQL
SELECT first_name, last_name FROM employees WHERE department = 'Sales';

คำสั่งนี้จะดึงข้อมูลพนักงานที่ทำงานในแผนก Sales

การเรียงลำดับข้อมูลด้วย ORDER BY

คำสั่ง ORDER BY ใช้เพื่อเรียงลำดับข้อมูลที่ดึงมา โดยสามารถเรียงลำดับจากมากไปหาน้อย (DESC) หรือจากน้อยไปหามาก (ASC)

รูปแบบการใช้งาน

SELECT column1, column2 FROM table_name ORDER BY column1 ASC|DESC;

ตัวอย่าง

SQL
SELECT first_name, last_name FROM employees ORDER BY last_name ASC;

คำสั่งนี้จะเรียงข้อมูลพนักงานตาม last_name จากน้อยไปหามาก

การใช้ LIMIT เพื่อจำกัดจำนวนผลลัพธ์ตามที่ต้องการ

คำสั่ง LIMIT ใช้เพื่อจำกัดจำนวนข้อมูลที่จะแสดงผล

รูปแบบการใช้งาน

SELECT column1, column2 FROM table_name LIMIT number;

ตัวอย่าง

SQL
SELECT first_name, last_name FROM employees LIMIT 10;

คำสั่งนี้จะดึงข้อมูลพนักงานแค่ 10 คนแรกจากตาราง

การใช้ DISTINCT เพื่อดึงข้อมูลที่ไม่ซ้ำกัน

คำสั่ง DISTINCT ใช้เพื่อดึงข้อมูลที่ไม่ซ้ำกันในคอลัมน์ที่เลือก

รูปแบบการใช้งาน

SELECT DISTINCT column1 FROM table_name;

ตัวอย่าง

SQL
SELECT DISTINCT department FROM employees;

คำสั่งนี้จะดึงข้อมูลชื่อแผนกที่ไม่ซ้ำกันจากตาราง employees

การรวมตารางด้วย JOIN

การใช้ JOIN เพื่อดึงข้อมูลจากหลายตารางพร้อมกัน โดยรูปแบบการใช้คำสั่ง JOIN มีหลายรูปแบบ เช่น INNER JOIN, LEFT JOIN, RIGHT JOIN

รูปแบบการใช้งาน

SELECT column1, column2 FROM table1 INNER JOIN table2 ON table1.column = table2.column;

ตัวอย่าง

SQL
SELECT employees.first_name, employees.last_name, departments.department_name 
FROM employees 
INNER JOIN departments ON employees.department_id = departments.department_id;

คำสั่งนี้จะดึงข้อมูลชื่อและนามสกุลของพนักงาน พร้อมชื่อแผนกของพนักงานคนนั้น ๆ

การจัดกลุ่มข้อมูลด้วย GROUP BY

คำสั่ง GROUP BY ใช้ในการจัดกลุ่มข้อมูล เช่น การหายอดรวมของแต่ละกลุ่ม

รูปแบบการใช้งาน

SELECT column1, COUNT(*) FROM table_name GROUP BY column1;

ตัวอย่าง

SQL
SELECT department, COUNT(*) FROM employees GROUP BY department;

คำสั่งนี้จะนับจำนวนพนักงานในแต่ละแผนก

การใช้ HAVING เพื่อกรองข้อมูลหลังการจัดกลุ่ม

คำสั่ง HAVING ใช้ในการกรองข้อมูลที่ผ่านการจัดกลุ่มแล้ว

รูปแบบการใช้งาน

SELECT column1, COUNT(*) FROM table_name GROUP BY column1 HAVING COUNT(*) > number;

ตัวอย่าง

SQL
SELECT department, COUNT(*) FROM employees GROUP BY department HAVING COUNT(*) > 5;

คำสั่งนี้จะแสดงเฉพาะแผนกที่มีพนักงานมากกว่า 5 คน

การใช้ SUBQUERY (คำสั่งย่อย)

SUBQUERY คือการเขียนคำสั่ง SELECT ซ้อนอยู่ในคำสั่ง SELECT อีกที

รูปแบบการใช้งาน

SELECT column1 FROM table_name WHERE column2 = (SELECT column3 FROM table2 WHERE condition);

ตัวอย่าง

SQL
SELECT first_name, last_name FROM employees WHERE department_id = (SELECT department_id FROM departments WHERE department_name = 'Sales');

คำสั่งนี้จะดึงข้อมูลพนักงานจากแผนกที่ชื่อว่า Sales

การใช้ UNION รวมผลลัพธ์จากหลายคำสั่ง SELECT

UNION ใช้ในการรวมผลลัพธ์ที่ได้จากสั่ง SELECT หลาย ๆ ชุดเข้าด้วยกัน

รูปแบบการใช้งาน

SELECT column1 FROM table1
UNION
SELECT column1 FROM table2;

ตัวอย่าง

SQL
SELECT first_name FROM employees_sales
UNION
SELECT first_name FROM employees_marketing;

คำสั่งนี้จะดึงรายชื่อพนักงานจากทั้งแผนก Sales และ Marketing โดยจะรวมรายชื่อที่ไม่ซ้ำกัน

แชร์เรื่องนี้