Free Intro to SQL 2020

🏆 เรียนพื้นฐานการเขียน SQL queries สำหรับการวิเคราะห์ข้อมูล (Data Analyst Role) คอร์สนี้เหมาะสำหรับผู้เริ่มต้น นักเรียนไม่จำเป็นต้องมีพื้นฐานการเขียนโปรแกรมมาก่อน ใช้เวลาเรียนประมาณ 3 ชั่วโมง

🏆 หลังจากเรียนจบนักเรียนจะสามารถเขียนและอ่าน SQL พื้นฐานได้ ดึงข้อมูลจากหนึ่งตารางหรือหลายตารางด้วยการเขียน join สรุปผลสถิติแบ่งตามกลุ่ม เลือกและฟิลเตอร์ข้อมูลที่ต้องการจาก database

Curriculum

  • SELECT
  • WHERE
  • GROUP BY
  • HAVING
  • ORDER BY
  • INNER JOIN/ LEFT JOIN
  • Aggregate/ Value Functions

Free Slide and Database

  • ดาวน์โหลดและติดตั้งโปรแกรม DB Browser for SQLite ฟรีที่นี่
  • ดาวน์โหลด slide และ example database สำหรับคอร์สนี้ได้ที่นี่

Recorded Video

วีดีโอสอน Intro to SQL Workshop เมื่อวันที่ 11 ม.ค. 2563 ความยาว 3 ชั่วโมง 20 นาที (อันนี้เป็น raw – unedited version เลย)

SQL Cheat Sheet

SQL clauses ใช้ทำอะไร
SELECTเลือกคอลัมน์ที่ต้องการจาก table หรือสร้างคอลัมน์ใหม่
WHEREเขียนเงื่อนไขเพื่อฟิลเตอร์ rows/ records
AVG SUM MIN MAX COUNT Agggregate Functions ใช้คำนวณค่าสถิติง่ายๆ
GROUP BYจับกลุ่มข้อมูล ใช้ร่วมกับ Aggregate Functions
HAVINGฟิลเตอร์กลุ่มจาก GROUP BY clause
ORDER BYเรียงข้อมูลจากต่ำไปสูง หรือสูงไปต่ำ
JOINใช้ร่วมกับ SELECT clause เพื่อดึงข้อมูลจากหลายๆตารางพร้อมกัน

Example Queries

ตัวอย่าง SQL queries ที่จะได้เรียนในคอร์สนี้

-- select all columns from customers table
SELECT * FROM customers;

-- limit rows in result set
SELECT * FROM customers LIMIT 10;

-- select only USA customers
SELECT firstname, lastname, country
FROM customers
WHERE country = 'USA';

-- transform columns
SELECT name, bytes/(1024.0*1024.0) AS mb FROM tracks;

-- basic aggregate functions
SELECT 
  AVG(bytes),
  SUM(bytes),
  MIN(bytes),
  MAX(bytes),
  COUNT(bytes)
FROM tracks;

-- grouped statistics to find top ten composers with most songs
SELECT composer, COUNT(*) songs 
FROM tracks
WHERE composer IS NOT NULL
GROUP BY composer
ORDER BY songs DESC LIMIT 10;

-- join multiple tables
SELECT A.name, A.composer, B.name genre
FROM tracks A JOIN genres B ON A.genreid = B.genreid
WHERE B.name = 'Rock';