พื้นที่ฝึก

SQL

เส้นทางฝึก SQL ตั้งแต่ศูนย์

นิยามก่อน

SQL คืออะไร

SQL ใช้เขียนคำสั่งที่ชัดเจน ที่นี่เรียนเป็น เส้นทางฝึก SQL ตั้งแต่ศูนย์ เริ่มจากภาพเดียว input ผ่านขั้นตอนแล้วกลายเป็น output

ข้อมูลรันขั้นต่ำไฟล์ query.sqlรัน psql -f query.sqlนิสัย เรียน SQL ทีละส่วนเล็ก แล้วพิมพ์ตัวอย่างสั้นและรัน
โปรแกรม

ชุดคำสั่งที่ทำงานตามลำดับ

ค่าและตัวแปร

ค่าคือข้อมูล ตัวแปรคือชื่อที่เก็บข้อมูล

ฟังก์ชัน

งานย่อยที่มีชื่อ รับ input และสร้างผลลัพธ์

runtime

PostgreSQL compatible SQL รันโค้ดจาก query.sql

โค้ดแรกที่อ่านง่าย

Select

columns table rows
SELECT name, score FROM users;
ผลลัพธ์ name score rows

ตระกูลภาษา

ผังตระกูล SQL

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

ราก
relational algebraSEQUEL
ปัจจุบันSQLตระกูลข้อมูลและคำนวณวิทยาศาสตร์
ตระกูลตระกูลข้อมูลและคำนวณวิทยาศาสตร์
เหมาะกับ

เหมาะกับ เส้นทางฝึก SQL ตั้งแต่ศูนย์

เริ่มจากศูนย์

1อ่านกฎหนึ่งข้อ2ทายผลลัพธ์3พิมพ์จากความจำ4รันการตรวจ5ทำซ้ำโดยเปลี่ยนหนึ่งจุด

คลังคำถาม

ค้นหาก่อนฝึก

เลือกขั้นหรือค้นหาแบบฝึกของภาษานี้ แล้วเปิดข้อที่ต้องการทันที

18 รายการ
Q 1ตัวเลือกขั้น 1 นิยาม

SQL ข้อ 1

SQL ข้อ 1 เลือกคำอธิบายที่ตรงกับ select columns ที่สุด

Q 2ตัวเลือกขั้น 1 นิยาม

SQL ข้อ 2

SQL ข้อ 2 เลือกคำอธิบายที่ตรงกับ where filter ที่สุด

Q 3ตัวเลือกขั้น 1 นิยาม

SQL ข้อ 3

SQL ข้อ 3 เลือกคำอธิบายที่ตรงกับ count aggregate ที่สุด

Q 4ตัวเลือกขั้น 1 นิยาม

SQL ข้อ 4

SQL ข้อ 4 เลือกคำอธิบายที่ตรงกับ join tables ที่สุด

Q 5ตัวเลือกขั้น 1 นิยาม

SQL ข้อ 5

SQL ข้อ 5 เลือกคำอธิบายที่ตรงกับ select columns ที่สุด

Q 6ตัวเลือกขั้น 1 นิยาม

SQL ข้อ 6

SQL ข้อ 6 เลือกคำอธิบายที่ตรงกับ where filter ที่สุด

Q 7ตัวเลือกขั้น 1 นิยาม

SQL ข้อ 7

SQL ข้อ 7 เลือกคำอธิบายที่ตรงกับ count aggregate ที่สุด

Q 8ตัวเลือกขั้น 1 นิยาม

SQL ข้อ 8

SQL ข้อ 8 เลือกคำอธิบายที่ตรงกับ join tables ที่สุด

Q 9ตัวเลือกขั้น 1 นิยาม

SQL ข้อ 9

SQL ข้อ 9 เลือกคำอธิบายที่ตรงกับ select columns ที่สุด

Q 10ตัวเลือกขั้น 1 นิยาม

SQL ข้อ 10

SQL ข้อ 10 เลือกคำอธิบายที่ตรงกับ where filter ที่สุด

Q 11ตัวเลือกขั้น 1 นิยาม

SQL ข้อ 11

SQL ข้อ 11 เลือกคำอธิบายที่ตรงกับ count aggregate ที่สุด

Q 12ตัวเลือกขั้น 1 นิยาม

SQL ข้อ 12

SQL ข้อ 12 เลือกคำอธิบายที่ตรงกับ join tables ที่สุด

Q 13ตัวเลือกขั้น 1 นิยาม

SQL ข้อ 13

SQL ข้อ 13 เลือกคำอธิบายที่ตรงกับ select columns ที่สุด

Q 14ตัวเลือกขั้น 1 นิยาม

SQL ข้อ 14

SQL ข้อ 14 เลือกคำอธิบายที่ตรงกับ where filter ที่สุด

Q 15ตัวเลือกขั้น 1 นิยาม

SQL ข้อ 15

SQL ข้อ 15 เลือกคำอธิบายที่ตรงกับ count aggregate ที่สุด

Q 16ตัวเลือกขั้น 1 นิยาม

SQL ข้อ 16

SQL ข้อ 16 เลือกคำอธิบายที่ตรงกับ join tables ที่สุด

Q 17ตัวเลือกขั้น 1 นิยาม

SQL ข้อ 17

SQL ข้อ 17 เลือกคำอธิบายที่ตรงกับ select columns ที่สุด

Q 18ตัวเลือกขั้น 1 นิยาม

SQL ข้อ 18

SQL ข้อ 18 เลือกคำอธิบายที่ตรงกับ where filter ที่สุด

ปรนัย

SQL ข้อ 1

Q 1ตัวเลือกใหม่

SQL ข้อ 1 เลือกคำอธิบายที่ตรงกับ select columns ที่สุด

SELECT name FROM users;

อ้างอิง

รูปแบบของ query.sql

PostgreSQL compatible SQLpsql -f query.sql
ทวนจากความจำอ่านจุดเล็กแล้วเขียนใหม่โดยไม่ดู
ไล่โค้ดเขียนค่าตัวแปรทีละบรรทัดก่อนรัน
พิมพ์เองคัดลอกให้น้อย พิมพ์ให้มาก แล้วแก้ error ทีละจุด

columns table rows

Select

SELECT name, score FROM users;
  • Select only needed columns
  • Read from one table first
  • Add limits while exploring

where order limit

Filter

SELECT name FROM users WHERE score >= 60;
  • WHERE filters rows
  • ORDER BY sorts
  • LIMIT protects exploration

count sum avg group by

Group

SELECT role, COUNT(*) FROM users GROUP BY role;
  • Aggregate after filtering
  • Group by non aggregate columns
  • Name metrics clearly