דילוג לתוכן המרכזי
eLearner.app

קורס אינטראקטיבי

קורס SQL

למד SQL מאפס, באנגלית, עם Postgres אמיתי שפועל בדפדפן שלך.

01 · מודול 1 - בחירה בסיסית

4 שיעורים

היסודות: קריאת נתונים מטבלה וסינונם.

  1. 1.1מבוא ל-SQLמהו SQL, מדוע משתמשים בו ואיך נראה מסד נתונים.~5 min
  2. 1.2בחר … מהשאילתה הפשוטה ביותר: קריאת שורות מטבלה.~10 min
  3. 1.3סינון עם WHEREבחירה רק בשורות שעומדות בתנאי.~10 min
  4. 1.4מיון עם ORDER BYסדר תוצאות, עולה או יורד.~8 min

02 · מודול 2 - SELECT חזק יותר

4 שיעורים

הגבל, בטל שכפול, שנה שם וספור: הכלים שבהם אתה משתמש מדי יום.

  1. 2.1הגבלה עם LIMITהחזרת רק את N השורות הראשונות, למשל כדי לבנות לוחות הישגים.~6 min
  2. 2.2ערכים ייחודיים עם DISTINCTהסרת כפילויות מהתוצאה של SELECT.~6 min
  3. 2.3שינוי שם עם ASמתן שמות קריאים יותר לטורים ולביטויים בתוצאה.~6 min
  4. 2.4ספירה וסיכום: COUNT, AVG, MAXפונקציות מצטברות: קבלת מספר בודד משורות רבות.~8 min

03 · מודול 3 - הצטרפו וקבוצתו לפי

4 שיעורים

שילוב של טבלאות מרובות והפקת דוחות לפי קבוצה: הלב של כל שאילתה אמיתית.

  1. 3.1צירוף שני שולחנות: INNER JOINשילוב שורות מטבלאות שונות בעקבות מערכות היחסים ביניהן.~12 min
  2. 3.2שמירה על הכל בצד שמאל: LEFT JOINכולל שורות שאין להן התאמה בטבלה האחרת.~10 min
  3. 3.3קיבוץ עם GROUP BYחישוב אגרגט לכל קבוצה, למשל לכל מחלקה.~10 min
  4. 3.4קבוצות סינון: HAVINGשמירה רק על הקבוצות שמקיימות תנאי במצטבר.~8 min

04 · מודול 4 - SQL מעשי

4 שיעורים

הכלים שעושים את ההבדל בעבודה אמיתית: רשימות, טווחים, NULLs והיגיון מותנה.

  1. 4.1רשימות וטווחים: IN ו-BETWEENמסננים קומפקטיים עבור "אחד כזה" ו"בין A ל-B".~8 min
  2. 4.2טיפול ב-NULL: IS NULL ו-COALESCEזיהוי והתמודדות עם ערכים חסרים ללא הפתעות.~10 min
  3. 4.3היגיון מותנה: CASE WHENהפיכת ערכים לקטגוריות ישירות ב-SELECT.~10 min
  4. 4.4שאילתה בתוך אחר: שאילתות משנהשימוש בתוצאה של SELECT בתוך SELECT אחר.~12 min

05 · מודול 5 - חיבורים מתקדמים

4 שיעורים

ריבוי שולחנות JOIN, חיבורים עצמיים, OUTER, CROSS ופעולות סט: שילוב נתונים כמו מקצוען.

  1. 5.1מצטרפים בשלושה שולחנות או יותרמעבר בשרשרת של קשרים: הזמנות → לקוחות → מוצרים, בשאילתה אחת.~12 min
  2. 5.2Self-JOIN: שולחן עם עצמוהיררכיות ויחסים פנימיים: קריאת טבלה בעלת שני תפקידים (ילד והורה).~10 min
  3. 5.3חיבור חיצוני: מציאת ה"פערים"שימוש ב-LEFT/RIGHT/FULL OUTER JOIN כדי למצוא שורות ללא התאמה.~10 min
  4. 5.4UNION, INTERSECT, EXCEPT (ו-CROSS JOIN)שילוב תוצאות כקבוצות: איחוד, צומת, הבדל ותוצר קרטזי.~12 min

06 · מודול 6 - פונקציות מובנות

4 שיעורים

הפוך ותעשה מניפולציה של נתונים עם פונקציות מקוריות של PostgreSQL: מחרוזות, תאריכים, מספרים, המרות סוגים.

  1. 6.1פונקציות מחרוזותLOWER, UPPER, LENGTH, שרשור, SUBSTRING, TRIM, REPLACE, LIKE ו-ILIKE.~12 min
  2. 6.2פונקציות תאריך וחותמת זמןEXTRACT, DATE_TRUNC, מרווחים והפרשי תאריכים.~12 min
  3. 6.3פונקציות מספריותROUND, CEIL, FLOOR, ABS, MOD ומספר שלם לעומת חלוקה עשרונית.~10 min
  4. 6.4המרות CAST וסוגהמרה בין סוגים עם `::type` ו-`CAST(... AS ...)`.~10 min

07 · מודול 7 - ניתוח מתקדם

4 שיעורים

שאילתות מרובות שלבים (CTE), דירוגים וסיכומים רצים (פונקציות חלון), היררכיות בלתי מוגבלות (WITH RECURSIVE).

  1. 7.1CTE: שאילתות מרובות שלבים עם WITHפיצול שאילתה מורכבת לשלבים בעלי שם לקריאה ושימוש חוזר.~12 min
  2. 7.2פונקציות חלון: דירוגים וחישובים לקבוצהROW_NUMBER, RANK, DENSE_RANK עם OVER(PARTITION BY …) לדירוג בקבוצה.~14 min
  3. 7.3LAG, LEAD וסיכומים שוטפיםהשוואת כל שורה לקודמת/הבאה וחישוב סכומים מצטברים.~12 min
  4. 7.4CTEs רקורסיביים: היררכיות עומק שרירותיותWITH RECURSIVE למעבר היררכיות כמו קטגוריות.~14 min

08 · מודול 8 - כתיבה ושינוי נתונים

4 שיעורים

INSERT, UPDATE, DELETE, CREATE TABLE עם אילוצים, טרנזקציות: סגירת לולאה עם כתיבה.

  1. 8.1הוספת נתונים: INSERTINSERT INSERT, RETURNING, פסקת RETURNING בודדת ומרובת שורות, בחירה מפורשת של עמודות.~10 min
  2. 8.2עדכון ומחיקה: עדכן ומחקשינויים סלקטיביים עם WHERE, ולמה WHERE נשכח הוא אסון.~10 min
  3. 8.3יצירת טבלאות ואילוצים: DDLצור טבלה עם מפתח PRIMARY, NOT NULL, UNIQUE, FOREIGN KEY, CHECK ו-Default.~12 min
  4. 8.4עסקאות: הכל או כלוםהתחל, התחייב, חזור: הפיכת קבוצת פעולות לאטומית.~10 min

09 · מודול 9 - מבני נתונים ו-DDL

4 שיעורים

יצירה ושינוי של טבלאות, אילוצים מתקדמים, סוגים מורכבים ותצוגות.

  1. 9.1סוגי נתונים מתקדמים ומספרי ENUMסוגים מספריים, TEXT לעומת VARCHAR, BOOLEAN, UUID וסוגי ENUM מותאמים אישית.~10 min
  2. 9.2אילוצים מרובים וברמת הטבלהשילוב של אילוצי UNIQUE ו-PRIMARY KEY, CHECK ומפתחות זרים מתקדמים (ON DELETE CASCADE).~12 min
  3. 9.3שינוי המבנה: ALTER TABLEהוספה, שינוי והסרה של עמודות או אילוצים מטבלאות קיימות.~10 min
  4. 9.4צפיות והפשטת נתוניםיצירת תצוגות כדי לפשט שאילתות מורכבות ותצוגות מפורטות לביצועים.~12 min

10 · אופטימיזציה ואינדקסים

4 שיעורים

האומנות של ביצוע שאילתות מהיר: אינדקסים, תוכניות ביצוע ואופטימיזציה של מסדי נתונים.

  1. 10.1אינדקסים ועצי Bצור אינדקסים כדי להאיץ באופן דרמטי שאילתות חיפוש בטבלאות גדולות.~15 min
  2. 10.2הסבירו ונתחולמד לקרוא את תוכניות הביצוע של מסד הנתונים לאבחון צווארי בקבוק.~15 min
  3. 10.3אינדקסים מורכבים וחלקייםהשתמש באינדקסים על מספר עמודות בו-זמנית או רק על נתח מסוים של הנתונים.~12 min
  4. 10.4בעיית N+1בעיית הביצועים הידועה לשמצה של ORM ושיטות SQL המקוריות להתגבר עליה בשאילתה אחת.~12 min

11 · עסקאות ומקיפות

4 שיעורים

נהל בצורה בטוחה שינויים בנתונים במקביל: עסקאות ACID, מנעולים ורמות בידוד.

  1. 11.1עסקאות ACID (BEGIN/COMMIT)שמור על נתונים עקביים עם BEGIN, COMMIT ו-ROLLBACK, קיבוץ שאילתות לבלוק אחד בלתי נראה לאחרים.~15 min
  2. 11.2תנאי המירוץתרחישי קצה: מה קורה כאשר שני עובדי מסד נתונים מקבילים פועלים על אותה עגלת משתמשים.~10 min
  3. 11.3נעילה ובחר לעדכוןנעל שורות באופן פעיל במהלך קריאה, ומאלץ שרשורים אחרים המשתנים להמתין לתורם.~15 min
  4. 11.4רמות בידודדחוף לגבולות על ידי הטמעת Serializable, או ירד ל-Read Committed לביצועים לא בטוחים אך מהירים.~12 min

12 · פונקציות וטריגרים

4 שיעורים

הפוך את ההיגיון העסקי לאוטומטי בתוך מסד הנתונים: כתוב פונקציות לשימוש חוזר והגיב לאירועים עם טריגרים.

  1. 12.1UDFs ו-SQL בסיסיצור פונקציות בהגדרת משתמש משלך כדי לכלול חישובים מורכבים ועשה בהם שימוש חוזר כמו פקודות מאקרו בכל שאילתה.~15 min
  2. 12.2לוגיקה מתקדמת עם PL/pgSQLתן לפונקציות שלך כוחות-על: משתנים, ענפי if-else ולולאות בסגנון פרוצדורלי טהור בתוך מסד הנתונים.~15 min
  3. 12.3מבוא לטריגריםהגדר פונקציות מיוחדות שיכולות לבדוק באופן מיידי את הרשומה יוצאת (ישן) או נכנסת (חדשה).~15 min
  4. 12.4טריגרים וביקורת מעשייםהפוך את הבטיחות לאוטומטי: עדכן אוטומטית את תאריך "עדכן_ב" ואחסן בארכיון שורות שנמחקו באופן קסום לצורך תאימות.~12 min

13 · פונקציות חלון

4 שיעורים

ניתוח נתונים מתקדם ללא כיווץ שורות: גלה OVER(), PARTITION BY ופונקציות אנליטיות.

  1. 13.1מבוא וסעיף OVERהפעל חישובים מצטברים (כמו SUM או AVG) תוך שמירה על השורות הבודדות המקוריות.~15 min
  2. 13.2קיבוץ עם PARTITION BYצור קבוצות לוגיות (חלונות) בתוך הנתונים שעליהם להחיל פונקציות, מבלי להשתמש ב-GROUP BY.~15 min
  3. 13.3דירוגים: ROW_NUMBER, RANK ו-DENSE_RANKהקצה מספרי שורות ודירוגים עוקבים לתוצאות, טיפול נכון בקשרים.~15 min
  4. 13.4משמרות: LAG ו-LEADגש לערכים מהשורה הקודמת או הבאה ישירות מהשורה הנוכחית כדי לחשב דלתות ווריאציות.~12 min

14 · CTEs ושאילתות היררכיות (WITH)

3 שיעורים

פשט שאילתות ענק עם ביטויי טבלה נפוצים וניווט בעצי נתונים ללא גבולות עם CTEs רקורסיביים.

  1. 14.1מבוא ל-CTEs (WITH)החלף שאילתות משנה מקוננות בלתי קריאות בפורמט פרוצדורלי נקי על ידי הכרזת "טבלאות וירטואליות" זמניות.~12 min
  2. 14.2CTE מרובים ומשורשריםאילף את המורכבות על ידי פירוק העיבוד למספר שלבים עוקבים בתוך הצהרת WITH אחת.~15 min
  3. 14.3CTEs רקורסיביים: נתונים בצורת עץנווט ללא מגבלות בהיררכיות מנהלים וקטגוריות הורה-ילד על ידי קריאה ל-CTE מעצמה.~18 min

15 · PostgreSQL JSON ו-NoSQL

2 שיעורים

נצל כוח יחסי מעורב עם תמיכה גמישה במסמכים באמצעות JSON ו-JSONB ללא שימוש במסדי נתונים חיצוניים.

  1. 15.1שילוב JSON ו-JSONBאחסן מסמכים מורכבים בתוך עמודה ושאל את השדות שלהם באמצעות אופרטורים של חצים.~15 min
  2. 15.2פונקציות צבירה של JSONצור קבצי JSON או מערכי אובייקטים תוך כדי תנועה ב-SQL באמצעות json_build_object() ו-json_agg().~15 min