Menu
Coddy logo textTech

SQL Cheat Sheet: דף עזר לפקודות SQL

עודכן לאחרונה

שליפת נתונים (SELECT)

הליבה של SQL: קריאת שורות מטבלה אחת או יותר.

פעולהתחביר
בחירת כל העמודותSELECT * FROM users;
בחירת עמודות מסוימותSELECT id, name FROM users;
שינוי שם עמודה (alias)SELECT name AS full_name FROM users;
ערכים ייחודייםSELECT DISTINCT country FROM users;
הגבלת מספר השורותSELECT * FROM users LIMIT 10;
דילוג ואז הגבלה (עימוד)SELECT * FROM users LIMIT 10 OFFSET 20;
ספירת שורותSELECT COUNT(*) FROM users;

סינון שורות (WHERE)

צמצום השורות ששאילתה מחזירה.

פעולהתחביר
שוויון / השוואהWHERE age >= 18
כמה תנאיםWHERE age >= 18 AND country = 'US'
אחד מהתנאיםWHERE role = 'admin' OR role = 'owner'
בתוך קבוצהWHERE country IN ('US', 'CA', 'MX')
בתוך טווחWHERE price BETWEEN 10 AND 50
התאמת תבניתWHERE email LIKE '%@gmail.com'
הוא / אינו nullWHERE deleted_at IS NULL
שלילהWHERE status NOT IN ('archived')

מיון וקיבוץ

פעולהתחביר
מיון בסדר עולה (ברירת מחדל)ORDER BY created_at
מיון בסדר יורדORDER BY created_at DESC
מיון לפי כמה עמודותORDER BY country, name DESC
קיבוץ שורותSELECT country, COUNT(*) FROM users GROUP BY country;
סינון קבוצותGROUP BY country HAVING COUNT(*) > 100

Joins

שילוב שורות משתי טבלאות לפי עמודה תואמת.

סוג ה-joinמחזירתחביר
INNER JOINרק שורות שיש להן התאמה בשתי הטבלאותFROM orders o INNER JOIN users u ON o.user_id = u.id
LEFT JOINכל השורות מהשמאלית + התאמות (אחרת null)FROM users u LEFT JOIN orders o ON o.user_id = u.id
RIGHT JOINכל השורות מהימנית + התאמותFROM orders o RIGHT JOIN users u ON o.user_id = u.id
FULL OUTER JOINכל השורות משני הצדדיםFROM a FULL OUTER JOIN b ON a.id = b.a_id
CROSS JOINכל הצירופים (מכפלה קרטזית)FROM sizes CROSS JOIN colors
Self joinטבלה שמצורפת לעצמהFROM employees e JOIN employees m ON e.manager_id = m.id

פונקציות צבירה

חישוב ערך יחיד על פני קבוצת שורות.

פונקציהמה היא עושה
COUNT(*)מספר השורות
COUNT(col)מספר הערכים שאינם null
SUM(col)סכום של עמודה מספרית
AVG(col)ערך ממוצע
MIN(col) / MAX(col)הערך הקטן ביותר / הגדול ביותר
STRING_AGG(col, ',')שרשור ערכים (Postgres; GROUP_CONCAT ב-MySQL)

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

חישוב על פני קבוצת שורות בלי לכווץ אותן לשורה אחת.

פונקציהתחביר
מספר שורהROW_NUMBER() OVER (ORDER BY score DESC)
דירוג (עם פערים)RANK() OVER (PARTITION BY country ORDER BY score DESC)
דירוג צפוףDENSE_RANK() OVER (ORDER BY score DESC)
סכום מצטברSUM(amount) OVER (ORDER BY created_at)
השורה הקודמת / הבאהLAG(score) OVER (ORDER BY date), LEAD(score) OVER (...)

שינוי נתונים (INSERT, UPDATE, DELETE)

פעולהתחביר
הוספת שורהINSERT INTO users (name, email) VALUES ('Ada', 'ada@x.com');
הוספת כמה שורותINSERT INTO users (name) VALUES ('Ada'), ('Alan');
עדכון שורותUPDATE users SET active = true WHERE id = 1;
מחיקת שורותDELETE FROM users WHERE active = false;
Upsert (Postgres/SQLite)INSERT ... ON CONFLICT (email) DO UPDATE SET name = EXCLUDED.name;

הגדרת טבלאות (DDL)

פעולהתחביר
יצירת טבלהCREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT NOT NULL);
הוספת עמודהALTER TABLE users ADD COLUMN age INTEGER;
מחיקת עמודהALTER TABLE users DROP COLUMN age;
מחיקת טבלהDROP TABLE users;
יצירת אינדקסCREATE INDEX idx_users_email ON users (email);
מפתח זרFOREIGN KEY (user_id) REFERENCES users (id)

כל פקודה, פסוקית ו-join של SQL שאתם צריכים, בעמוד אחד. ה-SQL cheat sheet הזה הוא דף עזר מהיר לשליפה ולשינוי של נתונים רלציוניים: פסוקיות SELECT, ארבעת סוגי ה-JOIN, צבירה, וה-DDL וה-DML שמשמשים ליצירה ולעדכון של טבלאות.

התחביר כאן הוא SQL ANSI סטנדרטי ועובד ב-PostgreSQL, MySQL, SQLite ו-SQL Server, אלא אם צוין אחרת. העתיקו את מה שאתם צריכים, או נסו כל שאילתה בזמן אמת בעורך האונליין של SQL, בלי להתקין מסד נתונים. חדשים במסדי נתונים? קורס ה-SQL האינטראקטיבי והחינמי של Coddy מלמד שאילתות, joins וצבירה.

שאלות נפוצות על ה-SQL cheat sheet

האם ה-SQL cheat sheet הזה חינמי?
כן. ה-SQL cheat sheet הזה חינמי לגמרי, בלי צורך בהרשמה. שמרו אותו במועדפים וחזרו אליו בכל פעם שתצטרכו לבדוק פסוקית, join או פונקציה.
האם זה עובד ב-MySQL, PostgreSQL ו-SQLite?
ברוב המקרים, כן. התחביר של SELECT, WHERE, JOIN, GROUP BY ו-DDL שמוצג כאן הוא SQL ANSI סטנדרטי ורץ אותו דבר ב-MySQL, PostgreSQL, SQLite ו-SQL Server. כמה יכולות מתקדמות שונות בין הדיאלקטים, בעיקר upserts וצבירת מחרוזות, והשורות האלה מציינות את ההבדל.
מה ההבדל בין INNER JOIN ל-LEFT JOIN?
INNER JOIN מחזיר רק את השורות שיש להן התאמה בשתי הטבלאות. LEFT JOIN מחזיר כל שורה מהטבלה השמאלית (הראשונה), וממלא NULL בעמודות של הטבלה הימנית כשאין התאמה. זה שימושי כשרוצים את כל המשתמשים גם אם לחלקם אין הזמנות.
אפשר לתרגל את פקודות ה-SQL האלה אונליין?
כן. פתחו את עורך האונליין של SQL כדי להריץ כל שאילתה מדף העזר הזה מול מסד נתונים אמיתי בדפדפן, בלי התקנה. כשתרצו מסגרת מסודרת, קורס ה-SQL האינטראקטיבי והחינמי של Coddy ייקח אתכם צעד אחר צעד מ-SELECT ועד joins ופונקציות חלון.
האם דף העזר הזה מתאים למתחילים?
כן. הוא מסודר מהפעולות הנפוצות ביותר (שליפה וסינון) ועד המתקדמות (פונקציות חלון), כך שאפשר להשתמש בחלקים העליונים כבר מהיום הראשון ולהתקדם לשאר בהמשך.
איור של שפות התכנות ב-Coddy

ללמוד SQL עם Coddy

להתחיל