น SQL, คำสั่ง SELECT ใช้เพื่อดึงข้อมูลจากฐานข้อมูล คำสั่งนี้เป็นพื้นฐานของการดึงข้อมูลจากตารางในฐานข้อมูล และสามารถประยุกต์ใช้งานได้หลายรูปแบบ เช่น การเลือกเฉพาะบางคอลัมน์ การกรองข้อมูล การจัดกลุ่มข้อมูล หรือการเรียงลำดับข้อมูลได้
การใช้งาน SELECT เบื้องต้น
คำสั่ง SELECT จะดึงข้อมูลจากทุกคอลัมน์ในตาราง มีรูปแบบการใช้งานดังนี้
SELECT * FROM table_name;
ตัวอย่าง
SELECT * FROM employees;คำสั่งนี้จะดึงข้อมูลทั้งหมดจากตาราง employees
การเลือกเฉพาะคอลัมน์ที่ต้องการ
เราสามารถระบุเฉพาะคอลัมน์ที่ต้องการแสดงข้อมูลได้ โดยมีรูปแบบการใช้งานดังนี้
SELECT column1, column2 FROM table_name;
ตัวอย่าง
SELECT first_name, last_name FROM employees;คำสั่งนี้จะดึงเฉพาะข้อมูลของคอลัมน์ first_name และ last_name จากตาราง employees
การใช้ WHERE เพื่อกรองข้อมูล
คำสั่ง WHERE ใช้เพื่อกรองข้อมูลที่ตรงกับเงื่อนไขที่ระบุ มีรูปแบบการใช้งานดังนี้
SELECT column1, column2 FROM table_name WHERE condition;
ตัวอย่าง
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;
ตัวอย่าง
SELECT first_name, last_name FROM employees ORDER BY last_name ASC;คำสั่งนี้จะเรียงข้อมูลพนักงานตาม last_name จากน้อยไปหามาก
การใช้ LIMIT เพื่อจำกัดจำนวนผลลัพธ์ตามที่ต้องการ
คำสั่ง LIMIT ใช้เพื่อจำกัดจำนวนข้อมูลที่จะแสดงผล
รูปแบบการใช้งาน
SELECT column1, column2 FROM table_name LIMIT number;
ตัวอย่าง
SELECT first_name, last_name FROM employees LIMIT 10;คำสั่งนี้จะดึงข้อมูลพนักงานแค่ 10 คนแรกจากตาราง
การใช้ DISTINCT เพื่อดึงข้อมูลที่ไม่ซ้ำกัน
คำสั่ง DISTINCT ใช้เพื่อดึงข้อมูลที่ไม่ซ้ำกันในคอลัมน์ที่เลือก
รูปแบบการใช้งาน
SELECT DISTINCT column1 FROM table_name;
ตัวอย่าง
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;
ตัวอย่าง
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;
ตัวอย่าง
SELECT department, COUNT(*) FROM employees GROUP BY department;คำสั่งนี้จะนับจำนวนพนักงานในแต่ละแผนก
การใช้ HAVING เพื่อกรองข้อมูลหลังการจัดกลุ่ม
คำสั่ง HAVING ใช้ในการกรองข้อมูลที่ผ่านการจัดกลุ่มแล้ว
รูปแบบการใช้งาน
SELECT column1, COUNT(*) FROM table_name GROUP BY column1 HAVING COUNT(*) > number;
ตัวอย่าง
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);
ตัวอย่าง
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;
ตัวอย่าง
SELECT first_name FROM employees_sales
UNION
SELECT first_name FROM employees_marketing;คำสั่งนี้จะดึงรายชื่อพนักงานจากทั้งแผนก Sales และ Marketing โดยจะรวมรายชื่อที่ไม่ซ้ำกัน
