ชุดคำสั่งที่ทำงานตามลำดับ
พื้นที่ฝึก
SQL
เส้นทางฝึก SQL ตั้งแต่ศูนย์
นิยามก่อน
SQL คืออะไร
SQL ใช้เขียนคำสั่งที่ชัดเจน ที่นี่เรียนเป็น เส้นทางฝึก SQL ตั้งแต่ศูนย์ เริ่มจากภาพเดียว input ผ่านขั้นตอนแล้วกลายเป็น output
query.sqlรัน psql -f query.sqlนิสัย เรียน SQL ทีละส่วนเล็ก แล้วพิมพ์ตัวอย่างสั้นและรันค่าคือข้อมูล ตัวแปรคือชื่อที่เก็บข้อมูล
งานย่อยที่มีชื่อ รับ input และสร้างผลลัพธ์
PostgreSQL compatible SQL รันโค้ดจาก query.sql
โค้ดแรกที่อ่านง่าย
Select
columns table rowsSELECT name, score FROM users;
ผลลัพธ์ name score rowsตระกูลภาษา
ผังตระกูล SQL
ดูว่า SQL มาจากไหน ใกล้กับภาษาใด และควรเรียนอะไรต่อ
เริ่มจากศูนย์
คลังคำถาม
ค้นหาก่อนฝึก
เลือกขั้นหรือค้นหาแบบฝึกของภาษานี้ แล้วเปิดข้อที่ต้องการทันที
SQL ข้อ 1
SQL ข้อ 1 เลือกคำอธิบายที่ตรงกับ select columns ที่สุด
SQL ข้อ 2
SQL ข้อ 2 เลือกคำอธิบายที่ตรงกับ where filter ที่สุด
SQL ข้อ 3
SQL ข้อ 3 เลือกคำอธิบายที่ตรงกับ count aggregate ที่สุด
SQL ข้อ 4
SQL ข้อ 4 เลือกคำอธิบายที่ตรงกับ join tables ที่สุด
SQL ข้อ 5
SQL ข้อ 5 เลือกคำอธิบายที่ตรงกับ select columns ที่สุด
SQL ข้อ 6
SQL ข้อ 6 เลือกคำอธิบายที่ตรงกับ where filter ที่สุด
SQL ข้อ 7
SQL ข้อ 7 เลือกคำอธิบายที่ตรงกับ count aggregate ที่สุด
SQL ข้อ 8
SQL ข้อ 8 เลือกคำอธิบายที่ตรงกับ join tables ที่สุด
SQL ข้อ 9
SQL ข้อ 9 เลือกคำอธิบายที่ตรงกับ select columns ที่สุด
SQL ข้อ 10
SQL ข้อ 10 เลือกคำอธิบายที่ตรงกับ where filter ที่สุด
SQL ข้อ 11
SQL ข้อ 11 เลือกคำอธิบายที่ตรงกับ count aggregate ที่สุด
SQL ข้อ 12
SQL ข้อ 12 เลือกคำอธิบายที่ตรงกับ join tables ที่สุด
SQL ข้อ 13
SQL ข้อ 13 เลือกคำอธิบายที่ตรงกับ select columns ที่สุด
SQL ข้อ 14
SQL ข้อ 14 เลือกคำอธิบายที่ตรงกับ where filter ที่สุด
SQL ข้อ 15
SQL ข้อ 15 เลือกคำอธิบายที่ตรงกับ count aggregate ที่สุด
SQL ข้อ 16
SQL ข้อ 16 เลือกคำอธิบายที่ตรงกับ join tables ที่สุด
SQL ข้อ 17
SQL ข้อ 17 เลือกคำอธิบายที่ตรงกับ select columns ที่สุด
SQL ข้อ 18
SQL ข้อ 18 เลือกคำอธิบายที่ตรงกับ where filter ที่สุด
ปรนัย
SQL ข้อ 1
SQL ข้อ 1 เลือกคำอธิบายที่ตรงกับ select columns ที่สุด
SELECT name FROM users;
อ้างอิง
รูปแบบของ query.sql
psql -f query.sqlcolumns 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