บทเรียนที่ 1เทคนิคการกรอง: WHERE vs HAVING การใช้ EXISTS, IN, correlated subqueriesพัฒนากลยุทธ์การกรองที่แม่นยำสำหรับคำสั่ง query วิเคราะห์ เปรียบเทียบ WHERE และ HAVING ใช้ EXISTS และ IN สำหรับตัวกรอง subquery และใช้ correlated subqueries เพื่อแสดงเงื่อนไขวิเคราะห์ที่ซับซ้อนและตระหนักถึงแถว
WHERE vs HAVING ใน query ที่มีการจัดกลุ่มการใช้ IN และ NOT IN กับ subqueriesEXISTS และ NOT EXISTS สำหรับ semi joinsCorrelated subqueries สำหรับตรรกะที่ตระหนักถึงแถวการจัดการ NULLs ในเงื่อนไขกรองเคล็ดลับประสิทธิภาพสำหรับตัวกรองที่ซับซ้อนบทเรียนที่ 2ประเภทข้อมูล SQL และการจัดการวันที่/เวลา (DATE, TIMESTAMP, ความแม่นยำของตัวเลข)เรียนรู้ประเภทข้อมูล SQL หลักที่ใช้ในการวิเคราะห์และผลกระทบต่อการจัดเก็บ ความแม่นยำ และการคำนวณ เข้าใจสเกลตัวเลข การจัดการข้อความ และการดำเนินการวันที่และ timestamp ที่แข็งแกร่งสำหรับการวิเคราะห์ตามเวลา
ประเภทตัวเลขและความแม่นยำสำหรับเมตริกข้อพิจารณาข้อมูลตัวอักษรและข้อความDATE vs TIMESTAMP และเขตเวลาการแปลงและแปลงระหว่างประเภทเลขคณิตศาสตร์วันที่และการคำนวณช่วงการแยกส่วนของวันที่สำหรับการจัดกลุ่มบทเรียนที่ 3การรวมข้อมูลและการจัดกลุ่ม: GROUP BY, HAVING, COUNT, SUM, AVG, MIN, MAXเรียนรู้การสรุปข้อมูลด้วยการรวมข้อมูลและการจัดกลุ่ม ใช้ GROUP BY และ HAVING เพื่อสร้างเมตริก ใช้ COUNT, SUM, AVG, MIN, และ MAX และออกแบบคำสั่ง query รวมข้อมูลที่แข็งแกร่งสำหรับแดชบอร์ดและรายงาน
พื้นฐานและไวยากรณ์ GROUP BYฟังก์ชันรวมข้อมูล COUNT และ SUMAVG, MIN, และ MAX สำหรับการกระจายHAVING เพื่อกรองผลรวมข้อมูลการจัดกลุ่มด้วยนิพจน์และถังการจัดการ NULLs ในข้อมูลรวมบทเรียนที่ 4การโหลด CSV เข้าฐานข้อมูล: COPY, LOAD DATA, sqlite import, และปัญหาที่พบบ่อยเรียนรู้วิธีปฏิบัติจริงในการโหลดข้อมูล CSV เข้าฐานข้อมูลสำหรับการวิเคราะห์ ใช้ COPY, LOAD DATA, และ SQLite import จัดการตัวคั่นและการเข้ารหัส และหลีกเลี่ยงปัญหาที่พบบ่อยที่ทำให้การโหลดผิดพลาดหรือไม่สมบูรณ์
การเตรียม CSV สำหรับการนำเข้าที่เชื่อถือได้การใช้ COPY ใน PostgreSQL และระบบที่คล้ายกันLOAD DATA สำหรับ MySQL และเครื่องยนต์ที่เข้ากันได้ขั้นตอนการทำงาน SQLite .import และตัวเลือกการจัดการการเข้ารหัส ตัวคั่น และเครื่องหมายคำพูดการตรวจสอบจำนวนแถวและบันทึกที่ถูกปฏิเสธบทเรียนที่ 5พื้นฐาน DDL และ DML: CREATE TABLE, ALTER, INSERT, UPDATE, DELETE, การควบคุม transactionเรียนรู้ว่า DDL และ DML ช่วยกำหนดและแก้ไขตารางสำหรับการวิเคราะห์อย่างไร ฝึกการสร้างและแก้ไข schema การแทรกและอัปเดตข้อมูล การลบอย่างปลอดภัย และการใช้ transaction เพื่อให้มั่นใจในความสมบูรณ์ของข้อมูลในกระบวนการวิเคราะห์และ pipeline
การสร้างตารางวิเคราะห์ด้วย CREATE TABLEการแก้ไข schema อย่างปลอดภัยด้วย ALTER TABLEรูปแบบ INSERT สำหรับการโหลดจำนวนมากและแบบเพิ่มทีละน้อยUPDATE และ DELETE ด้วย predicates ที่ปลอดภัยCOMMIT, ROLLBACK, และขอบเขต transactionคุณสมบัติ ACID ใน workload วิเคราะห์บทเรียนที่ 6พื้นฐานคำสั่ง query: SELECT, WHERE, ORDER BY, LIMIT, DISTINCTเชี่ยวชาญไวยากรณ์คำสั่ง query พื้นฐานที่ใช้ในการวิเคราะห์เกือบทุกครั้ง เรียนรู้ว่า SELECT ดึงคอลัมน์อย่างไร WHERE กรองแถว ORDER BY จัดเรียงผลลัพธ์ LIMIT ควบคุมขนาดตัวอย่าง และ DISTINCT ลบข้อมูลซ้ำในคำสั่ง query วิเคราะห์
การออกแบบ SELECT list และชื่อคอลัมน์การกรองแถวด้วยเงื่อนไข WHEREการจัดเรียงผลลัพธ์ด้วย ORDER BYLIMIT และ OFFSET สำหรับการสุ่มตัวอย่างข้อมูลการใช้ DISTINCT เพื่อลบข้อมูลซ้ำการดีบักและปรับปรุงคำสั่ง query พื้นฐานบทเรียนที่ 7การ join และการดำเนินการชุด: INNER, LEFT, RIGHT, FULL, CROSS, UNION, EXCEPT, INTERSECTเข้าใจว่าการ join และการดำเนินการชุดรวมชุดข้อมูลสำหรับการวิเคราะห์อย่างไร เรียนรู้ว่าใช้ประเภท join แต่ละประเภทเมื่อไหร่ หลีกเลี่ยงข้อผิดพลาดการซ้ำซ้อน และ UNION, EXCEPT, INTERSECT สนับสนุนการเปรียบเทียบวิเคราะห์ที่ซับซ้อน
INNER JOIN สำหรับชุดข้อมูลที่ตัดกันกรณีใช้ LEFT, RIGHT, และ FULL OUTER JOINCROSS JOIN และ Cartesian products ในการวิเคราะห์UNION vs UNION ALL สำหรับการเรียงข้อมูลEXCEPT และ INTERSECT สำหรับการเปรียบเทียบชุดการตรวจจับและจัดการการซ้ำซ้อนในการ joinบทเรียนที่ 8แนวคิดฐานข้อมูลเชิงสัมพันธ์: ตาราง, primary/foreign keys, normalization vs denormalizationเข้าใจแนวคิดเชิงสัมพันธ์หลักที่เป็นพื้นฐานของ schema วิเคราะห์ เรียนรู้ตาราง primary และ foreign keys รูปแบบ normalization และเมื่อไหร่ควร denormalize เพื่อประสิทธิภาพในการรายงานและ workload BI
ตาราง แถว และคอลัมน์ในการปฏิบัติจริงPrimary keys และข้อจำกัดความไม่ซ้ำForeign keys และ referential integrityรูปแบบ normalization และการควบคุมความซ้ำซ้อนDenormalization เพื่อประสิทธิภาพการรายงานภาพรวม Star และ snowflake schemasบทเรียนที่ 9พื้นฐานประสิทธิภาพ: indexes, query plans, explain/analyze, กลยุทธ์การปรับปรุงง่ายๆ สำหรับคำสั่ง query วิเคราะห์รับมุมมองปฏิบัติเกี่ยวกับประสิทธิภาพคำสั่ง query สำหรับการวิเคราะห์ เรียนรู้ว่า indexes ทำงานอย่างไร อ่าน query plans ใช้ EXPLAIN และ ANALYZE และใช้กลยุทธ์การปรับปรุงง่ายๆ เพื่อให้คำสั่ง query วิเคราะห์มีประสิทธิภาพ
วิธีที่ indexes เร่งการค้นหาและ joinการอ่านและตีความ query plansการใช้ EXPLAIN และ ANALYZE ในการปฏิบัติการระบุตัวกรองและ join ช้าการปรับปรุง GROUP BY และการรวมข้อมูลกลยุทธ์การจัดทำดัชนีพื้นฐานสำหรับการวิเคราะห์บทเรียนที่ 10ภาพรวมฟังก์ชันหน้าต่าง: ROW_NUMBER, RANK, DENSE_RANK, SUM() OVER(), AVG() OVER(), PARTITION BYสำรวจฟังก์ชันหน้าต่างเพื่อทำการวิเคราะห์ขั้นสูงโดยไม่ยุบแถว เรียนรู้การจัดอันดับ ยอดรวมที่กำลังดำเนินการ ค่าเฉลี่ยเคลื่อนที่ และกลยุทธ์การแบ่งส่วนที่ขับเคลื่อนการวิเคราะห์ cohort แนวโน้ม และการแบ่งส่วนใน SQL
ไวยากรณ์ฟังก์ชันหน้าต่างและ OVER clauseกรณีใช้ ROW_NUMBER, RANK, และ DENSE_RANKยอดรวมที่กำลังดำเนินการด้วย SUM() OVER()ค่าเฉลี่ยเคลื่อนที่ด้วย window framesPARTITION BY สำหรับตรรกะ cohort และ segmentORDER BY ในหน้าต่าง vs การจัดเรียง query