Course
: พื้นฐานการเขียน SQL สำหรับ Data Analyst
Reference
: ไฟล์ตัวอย่าง chinook.db และ ER diagram จากเว็บไซต์ SQLite Tutorial
SQL ย่อมาจาก Structured (English) Query Language เป็นภาษาทางการที่ใช้ทำงานกับ (relational) database มาตั้งแต่ปี 1970s คิดค้นโดยนักวิจัยของ IBM สำหรับงานด้าน data analytics SQL คือภาษาแรกที่ทุกคนควรเขียนให้เป็น จะได้ดึงข้อมูลจาก database มาวิเคราะห์ต่อได้ อ้างอิงจากเว็บไซต์ payscale รายได้เฉลี่ยของ SQL data analyst อยู่ที่ 360,000 บาทต่อปี (median)
สำหรับ GitHub นี้ แอดออกแบบมาสำหรับนักเรียนที่ไม่เคยเขียนโปรแกรมมาก่อนเลย ติดตั้งโปรแกรม ดาวน์โหลด slide และไฟล์ตัวอย่าง ใช้เวลาเรียนตามบทเรียนด้านล่างประมาณ 1-2 ชั่วโมง ps. SQL ไม่ยาก จริงๆเรียนพื้นฐานคร่าวๆก็ต่อยอดได้สบายๆแล้ว
นักเรียนสามารถดาวน์โหลด แจกจ่าย slide + code ทั้งหมดใน GitHub นี้ได้โดยไม่ต้องขออนุญาต :D
แอดมีทำวีดีโอสอนแบบ full HD ความยาวสองชั่วโมง สมัครเรียนฟรีได้ที่เว็บไซต์ https://datarockie.com - Intro to SQL for Data Analysis (นักเรียนมากกว่า 3,800 คนลงเรียนคอร์สนี้แล้ว)
- ดาวน์โหลดโปรแกรมฟรี DB Browser
- ดาวน์โหลดไฟล์ chinook.db ใน GitHub นี้
- ดาวน์โหลด slide ฟรีของเราได้ที่ Google Drive
- หรือจะดู slide presentation แบบออนไลน์ได้ที่ Google Slides
ติดตั้งโปรแกรมเสร็จแล้ว เปิด DB Browser คลิก Open Database
เลือกไฟล์ chinook.db คลิก Open
เพื่อเริ่มเรียน
ถ้าไม่เคยเขียน SQL มาก่อน แอดแนะนำให้ทุกคนเรียนตามบทเรียนนี้เลย เรียนจบ SELECT และ WHERE ก็สามารถดึงข้อมูลง่ายๆจาก database ได้แล้ว :D
SELECT
WHERE
- Aggregate Functions:
AVG
SUM
MIN
MAX
COUNT
- Value Functions:
UPPER
LOWER
COALESCE
RANDOM
ROUND
GROUP BY
HAVING
ORDER BY
JOIN
CASE WHEN
- Subqueries
CREATE VIEW
(coming soon)CREATE TABLE
(coming soon)
SQL clauses ที่เราใช้ประจำคือ SELECT
และ WHERE
โดย SELECT
ใช้เลือกคอลัมน์และ WHERE
ใช้ฟิลเตอร์ข้อมูล ตัวอย่าง query ด้านล่างเลือกทุกคอลัมน์จากตาราง customers และฟิลเตอร์เฉพาะลูกค้าที่อาศัยอยู่ในประเทศ USA
-- standard query
SELECT * FROM customers
WHERE country = 'USA';
เราสามารถใส่ชื่อคอลัมน์ที่ต้องการใน SELECT
clause ได้เลยแบบนี้
-- select columns you want in SELECT clause
SELECT firstname, lastname, country, email
FROM customers
WHERE country = 'USA';
ถ้าต้องการกำหนดจำนวนแถวของข้อมูลที่ดึงออกมา ให้ใช้ LIMIT
clause
-- return top ten rows
SELECT * FROM customers
LIMIT 10;
ทักแชทแอดได้ที่ FB messenger หรือติดตามเราทาง facebook: DataRockie :D