ภาษา SQL คืออะไร พร้อมคำสั่งพื้นฐานที่ควรรู้ สำหรับผู้เริ่มต้น

   By: DH Team

   อัปเดตล่าสุด Nov. 6, 2024

ภาษา SQL คืออะไร พร้อมคำสั่งพื้นฐานที่ควรรู้ สำหรับผู้เริ่มต้น

SQL หนึ่งในภาษาสำหรับเขียนเพื่อติดต่อและจัดการกับฐานข้อมูล เป็นภาษาที่จำเป็นสำหรับคนที่สนใจหรือต้องการทำงานสาย Web Developer หรือแม้แต่ด้าน Data จำเป็นต้องรู้ภาษานี้ไว้ครับ บทความนี้เราจะมาเรียน SQL จาก 0 กันเลย


SQL คืออะไร?

SQL (Structured Query Language) คือ ภาษาโปรแกรมมิ่งที่ใช้ติดต่อสื่อสารและจัดการกับข้อมูลแบบเชิงสัมพันธ์ (Relational Database) สำหรับ DBMS (Database Management System) ที่เรารู้จักกันดี เช่น MySQL, PostgreSQL, Oracle, MS Server SQL, SQLite เป็นต้น ถึงแม้ว่าแต่ละ DBMS จะมีโครงสร้างหรือฟีเจอร์แตกต่างกันบางส่วน แต่ไวยากรณ์โดยทั่วไปแล้วจะมีความคล้ายคลึงกันครับ ดังนั้นเรียนในบทเรียนนี้ก็ถือว่าไปต่อยอดได้สบายไร้ปัญหา 

โดยภาษา SQL นั้นถือกำเนิดขึ้นครั้งแรกในปี 1970 หรือมากกว่า 50 ปีมาแล้ว

บทความแนะนำ: DB Browser สำหรับเขียน และจัดการกับฐานข้อมูล SQLite


ทำไม SQL สำคัญ?

SQL ถูกใช้ในแอปพลิเคชันต่าง ๆ มากมายเช่น งานด้านการพัฒนาเว็บ การวิเคราะห์ข้อมูล เป็นต้น โดยภาษา SQL นั้นไม่ใช่ภาษาโปรแกรมมิ่งโดยทั่วไปเฉกเช่นภาษาอย่าง Python, Java, JavaScript, etc แต่เป็นภาษาสำหรับจัดการฐานข้อมูลเชิงสัมพันธ์โดยเฉพาะ


ตัวอย่างไวยากรณ์ (Syntax) ของ SQL

ด้านล่างคือตัวอย่างไวยากรณ์ของภาษา SQL

SELECT * FROM Students;

การทำงานของคำสั่งด้านบนคือให้ทำการดึงข้อมูล (Query) ทุกสิ่งอย่างที่ถูกบันทึกอยู่ในตาราง   Students  มาแสดงผลด้วยคำสั่ง  SELECT *  

จะเห็นได้ว่าภาษา SQL นั้นก็มีความตรงไปตรงมาของภาษาและไม่ได้ดูยุ่งยากเลยใช่ไหมครับ?

ตัวอย่างคำสั่งในเบื้องต้นที่ถูกใช้บ่อยใน SQL

คำสั่ง
คำอธิบาย
CREATE
สร้างตารางขึ้นมาใหม่
ALTER
เปลี่ยนแปลงข้อมูลในตาราง เช่น เปลี่ยนชื่อฟีลด์ (คอลัมน์) เป็นต้น
DROP
ลบตาราง
SELECT
เลือกดึงข้อมูลจากตารางที่ต้องการ
INSERT
บันทึกข้อมูลเข้าไปใน record (แถว) ตาราง
UPDATE
แก้ไขหรืออัปเดตข้อมูลใน record
DELETE
ลบข้อมูลใน record


คำสั่ง SQL Insert

Insert คือ คำสั่งที่ใช้สำหรับ "เพิ่ม" ข้อมูลในแถวใหม่ของตาราง นี่คือตัวอย่างไวยากรณ์ของคำสั่ง โดยจะใช้คีย์เวิร์ด  INSERT 

INSERT INTO table_name (column1, column2)
VALUES (value1, value2);



ตัวอย่างคำสั่งการ insert ใน SQL

INSERT INTO Students (name, age)
VALUES ('Somchai', 9);


แล้วถ้าอยาก insert ข้อมูลครั้งเดียวได้หลาย ๆ แถวล่ะ? 

INSERT INTO Students (name, age)
VALUES ('Somchai', 9), ('Somsri', 11), ('Mana', 8);

โดยการ insert ข้อมูลครั้งเดียวได้หลายแถวแบบนี้ เราจะใช้ comma "," คั่นระหว่างชุดข้อมูลที่อยู่ในวงเล็บ (Parenthesis)


คำสั่ง SQL Update

Update คือ คำสั่งที่ใช้สำหรับ "แก้ไข" ข้อมูลในแถว (record) ของตาราง นี่คือตัวอย่างไวยากรณ์ของคำสั่ง โดยจะใช้คีย์เวิร์ด  UPDATE 

UPDATE table_name
SET column1 = value1, column2 = value2
WHERE condition;


จากตัวอย่างด้านบน ต่อไปจะเป็นการทดสอบการ Update ข้อมูลใน SQL

UPDATE Students
SET name = "Michael", age = 9 
WHERE id = 1;


คำสั่ง SQL Delete

Delete คือ คำสั่งที่ใช้สำหรับ "ลบ" ข้อมูลในแถว (record) ของตาราง นี่คือตัวอย่างไวยากรณ์ของคำสั่ง โดยจะใช้คีย์เวิร์ด  DELETE 
DELETE FROM table_name
WHERE condition;


ข้อมูลตัวอย่าง

ID
Name
Age
1
Michael
9
2
Somsri
11
3
Mana
8



ตัวอย่างการใช้คำสั้ง Delete ใน SQL

DELETE FROM Students
WHERE id = 2;


จากตัวอย่างตารางด้านบน เมื่อทำการลบข้อมูลโดยใช้คำสั่ง  DELETE   จากปกติข้อมูลมี 3 records ตอนนี้จะเหลืออยู่ 2 เพราะว่าข้อมูลใน ID 2 ถูกลบออกไปแล้วนั่นเอง

ID
Name
Age
1
Michael
9
3
Mana
8



คำสั่ง SQL Join

Join คือ คำสั่งที่ใช้สำหรับ "รวม" ข้อมูลในคอลัมน์ของสองตารางหรือมากกว่าเข้าด้วยกัน นี่คือตัวอย่างไวยากรณ์ของคำสั่ง โดยจะใช้คีย์เวิร์ด  JOIN 

โดยคำสั่ง JOINs ใน SQL หลัก ๆ จะมีอยู่ 4 รูปแบบคือ

  1. Inner Join
  2. Left Join
  3. Right Join
  4. Full Join


1. Inner Join

Inner Join จะเป็นคำสั่งการรีเทิร์นเฉพาะค่าที่ตรงกันระหว่าง 2 ตาราง และจะแสดงผลข้อมูลของทุกแถวของทั้งสองตาราง

SELECT *
FROM table1
INNER JOIN table2
ON table1.column1_name = table2.column2_name;


2. Left Join

Left Join จะเป็นคำสั่งการรีเทิร์นข้อมูลทุกแถวของตารางด้านซ้าย (Left Table) และรีเทิร์นค่าที่ตรงกันเท่านั้นของตารางด้านขวา (Right Table) ถ้าไม่มีค่าที่ตรงกันจากทางตารางด้านขวา จะรีเทิร์นค่า NULL (ค่าว่างเปล่า)

SELECT *
FROM table1
LEFT JOIN table2
ON table1.column1_name = table2.column2_name;


3. Right Join

Right Join จะเป็นคำสั่งการรีเทิร์นข้อมูลทุกแถวของตารางด้านขวา (Right Table) และรีเทิร์นค่าที่ตรงกันเท่านั้นของตารางด้านซ้าย (Left Table) ถ้าไม่มีค่าที่ตรงกันจากทางตารางด้านขวา จะรีเทิร์นค่า NULL (ค่าว่างเปล่า) พูดง่าย ๆ คือคล้ายกันกับ Left Join เพียงแต่ตรงข้ามกัน

SELECT *
FROM table1
RIGHT JOIN table2
ON table1.column1_name = table2.column2_name;


4. Full Outer Join

Full Outer Join จะเป็นคำสั่งการรีเทิร์นข้อมูลทุกแถวของทั้ง 2 ตาราง ถ้าไม่มีค่าที่ตรงกันจากทั้งสองตาราง จะรีเทิร์นค่า NULL (ค่าว่างเปล่า)

SELECT *
FROM table1
FULL OUTER JOIN table2
ON table1.column1_name = table2.column2_name;


ก็จบลงไปแล้วครับสำหรับบทความ SQL ในเบื้องต้น สำหรับผู้เริ่มต้นในปี 2023 ในบทความนี้เราก็ได้เรียนรู้ภาพรวมของภาษา SQL ว่า SQL คืออะไร โครงสร้างเป็นยังไง รวมถึงคำสั่งพื้นฐานต่าง ๆ เช่น INSERT, UPDATE, DELETE, JOIN ทางทีมงาน DH เราก็หวังว่าคงจะเป็นประโยชน์นะครับ อย่าลืมติดตามเพจ devhub ด้วยนะครับ


เปิดโลกการเขียนโปรแกรมและ Software Development ด้วย online courses ที่จะพาคุณอัพสกิลและพัฒนาสู่การเป็นมืออาชีพ เรียนออนไลน์ เรียนจากที่ไหนก็ได้ พร้อมซัพพอร์ตหลังเรียน

เรียนเขียนโปรแกรม

คอร์สเรียนแนะนำ

พัฒนาเว็บไซต์ด้วย Django Python

คอร์สอบรม เรียนทำเว็บ ด้วย Django สุดยอด web framework อันดับ 1 ที่ได้รับ…

Full Stack Developer 2024

คอร์สเรียน Full Stack Developer 2024 ด้วยเฟรมเวิร์คยอดนิยมในการพัฒนา A…