PracticU

פקודת Select

בלי כתוביותעם כתוביות
PracticU › קורס DBA אפליקטיבי - שפת SQL למתחילים › פקודת Select
מילון מושגים:
עמודה - שדה בטבלת מסד נתונים שמחזיק ערך מסוג מסוים עבור כל שורה, למשל שם או תאריך.
טבלה - מבנה במסד נתונים שמאחסן נתונים בשורות ועמודות. כל שורה היא רשומה וכל עמודה היא שדה.
Northwind - מסד נתונים לדוגמה של מיקרוסופט, המדמה חברת מסחר ומשמש ללימוד ולהדגמת שאילתות SQL.
סכמה - המבנה הלוגי של מסד נתונים: הגדרת הטבלאות, העמודות, הסוגים והקשרים ביניהם.
תנאי - ביטוי לוגי בקוד שתוצאתו אמת או שקר, וקובע אילו פקודות יתבצעו בהתאם לערכו.
שרת - מחשב או תוכנה שמספקים שירות למחשבים אחרים (לקוחות) ברשת, למשל אחסון קבצים, אתר אינטרנט או מסד נתונים, ומגיבים לבקשות שלהם.
אקסל - תוכנת גיליונות אלקטרוניים של מיקרוסופט לארגון, חישוב וניתוח נתונים בטבלאות ובנוסחאות.

פקודת Select
פקודת SELECT היא הבסיס לשליפת נתונים מ-SQL. השיעור מראה איך בוחרים עמודות, מסננים שורות ומעתיקים תוצאה מכלי הניהול.
השלבים העיקריים
1. הרצה ראשונה: בכלי SQL Management Studio לוחצים לחיצה ימנית על טבלה בבסיס הנתונים Northwind ובוחרים Select Top 1000 Rows. הכלי כותב את הפקודה בעצמו, והרצתה נעשית עם F5.
2. בחירת עמודות: במקום הכוכבית רושמים את שמות העמודות מופרדים בפסיקים, למשל ProductName ו-UnitPrice, כך שהתוצאה מציגה רק אותן.
3. כוכבית: * מביא את כל העמודות, שימושי כשלא יודעים את שמותיהן.
4. מבנה הפקודה: SELECT עם העמודות, ואחריו FROM עם שם הטבלה. אפשר לכתוב לפני שם הטבלה את שם בסיס הנתונים ואת שם הסכמה (schema).
5. WHERE: מסנן שורות לפי תנאי, ורק שורות שבהן התנאי נכון נשארות בתוצאה. בדוגמה, UnitPrice > 20 משאיר 37 מוצרים, ו-UnitPrice > 25 משאיר 28.
6. AND ו-OR: אפשר לשלב כמה תנאים. AND דורש שכולם יתקיימו, ו-OR מספיק שאחד מהם יתקיים. בדוגמה מציגים מוצרים שמחירם מעל 20 או מתחת ל-10.
7. בדיקות: WHERE 1 = 1 מחזיר את כל השורות, ו-WHERE 1 = 2 לא מחזיר אף שורה.
8. גרירה של עמודות: בחלון עץ העמודות אפשר לגרור עמודות לתוך הפקודה, והכלי כותב את השמות.
9. מידע על טבלה: מסמנים שם טבלה ולוחצים Alt+F1, והכלי מציג את העמודות וסוגי הנתונים שלהן.
פקודות והגדרות
SELECT * FROM Products, SELECT ProductName, UnitPrice FROM Products, WHERE UnitPrice > 20, AND, OR, WHERE 1 = 1.
שימו לב
השרת מבצע קודם את ה-FROM וה-WHERE, והדבר האחרון שהוא מבצע הוא בחירת העמודות להצגה. הפקודה נשלחת לשרת, והתוצאה חוזרת למסך, ואפשר להעתיק אותה לאקסל עם כותרות.
השיעור מסתיים ביכולת לכתוב SELECT עם FROM ו-WHERE, לסנן שורות ולהציג רק את העמודות הרצויות.
השיעור הבא בקורס: פקודת Select עם Join

פרקי ההרצאה: פקודת Select

  1. 00:00

    מבוא: פקודת SELECT ו-SQL Management Studio

  2. 00:35

    טבלת המוצרים בבסיס Northwind

  3. 01:31

    בחירת עמודות מסוימות בשאילתה

  4. 03:21

    שם מלא של טבלה: בסיס, סכמה וטבלה

  5. 04:14

    שימוש בכוכבית לכל העמודות

  6. 04:53

    סינון שורות עם WHERE לפי מחיר

  7. 07:30

    שני תנאים עם AND במלאי ובמחיר

  8. 08:56

    תנאי OR ושימוש בסוגריים

תמלול ההרצאה: פקודת Select

הטקסט המלא של הדקות הראשונות בהרצאה «פקודת Select» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:00

    שלום וברוכים הבאים להרצאה על פקודת סלקט זאת בעצם ההרצאה הראשונה שמסבירה איך עובדת פקודת סלקט שזה היסודות של sql ואנחנו נפתח כלי ניהול sql management studio כלי ניהול של sql נגיד לו להתחבר לשרת 10895 זה שרת אצלי עם sa זה user בsql שהוא כמו

  2. 00:26

    אדמיניסטרטור והסיסמה ששמתי נעשה קונקט, אנחנו מתחברים ל-SQL. יש לנו ב-SQL דאטאבייס מוכן של Northwind שמייקרוסופט הכינו לנו, ואנחנו רוצים בעצם לראות את הפרודקטס, את המוצרים נניח, את טבילת המוצרים.

  3. 00:48

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

  4. 01:06

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

  5. 01:35

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

  6. 01:49

    נניח שאני רוצה רק מוצר ו-unit price. אם אני רוצה רק מוצר ו-unit price, אז אני אומר לו, תראה לי רק product name, אני מוחק את כל השאר, ו-unit price, מחיר יחידה.

  7. 02:08

    אני יכול לשים את זה בשורה אחת, בשתי שורות, זה לא משנה לו בכלל. אז ככה, עמודה פסיק עמודה, מה להראות לי על המסך? ושימו לב, execute פה, מראה לי באמת רק שתי עמודות.

  8. 02:22

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

  9. 03:02

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

  10. 03:11

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

  11. 03:24

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

  12. 03:40

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

  13. 04:03

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

  14. 04:16

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

  15. 04:31

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

  16. 04:41

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

  17. 05:08

    שלנו מעל 20 דולר אני יכול לעבור 78 מוצרים ידנית או שאני יכול לעשות where איפה תעבור שורה שורה בואו נעבור שורה שורה ונבדוק איזה שהוא תנאי איזה תנאי שעמודת unit unit price גדולה מ-20 אז אני כותב where unit price העמודה הזאת בשורה הנוכחית שבודקים הוא בודק שורה שורה גדולה מ-20 זאת אומרת הוא לוקח את כל התוצאות של הסלקט שזה זה מה שאנחנו רואים למסך עובר שורה שורה ועבור כל

  18. 05:46

    שורה בודק האם התנאי מתקיים מה התנאי שעמודת unit price גדולה מ-20 אם התנאי מתקיים הוא true השורה נשארת אם הוא false השורה אפה בואו נראה שזה באמת עובד אני מסמן בכחול מה שאני רוצה להריץ ועושה אקזיקיוט ובאמת שימו לב נשארו לי 37 מוצרים תראו באמת נשארו לי 37 מוצרים בואו נעשה יותר גדול מ-25 דולר אקזיקיוט ונשארו לי 28 מוצרים אז יופי אז ווייר אומר עבור כל שורה

  19. 06:28

    מה קורה כאשר את זה הוא מחליף בנתון של אותה שורה מה יקרה אם אני אעשה ווייר 1 שווה 1 ווייר 1 שווה 1 אחד תמיד שווה אחד אז בגלל שאחד תמיד שווה אחד לכל שורה התנאי הזה יתקיים ואני אקבל בסופו של דבר את כל השבעים ושמונה שורות שלי כי את כל השבעים ושמונה שורות יופי מה יקרה אם אני אעשה אחד שווה שתיים הוא יבדוק לכל שורה אם אחד שווה שתיים יגיד לא זה לא

  20. 07:05

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

  21. 07:37

    שיש במלאי אז אני רוצה שני תנאים גם את זה וגם אנד שימו לב אני שם אנד פקודת אנד בווייר שהוא בודק גם תנאי הזה וגם תנאי הזה יוניט אין סטוק אין סטוק גדול מנניח מ-20 יחידות כן שיש לו במלאי מספיק אם אני רוצה להריץ את כל מה שאני רואה פה אני לא צריך לסמן בכחול אפשר ישר ללחוץ execute לא כתבתי טוב units units in stock

  22. 08:09

    עובד בואו נראה 21 שורות ואם אני מסמן את זה בלי מריץ רק את הכחול בלי התנאי השני אני רוצה לראות שהתנאי באמת עובד ככה יש 21 שורות וככה יש 37 שורות אתם רואים כשמריצים בלי התנאי השני יש 37 ומריצים הכל יש 21 זה אומר שהוא באמת מסנן אתם יכולים לראות שבאמת units יוניטס פרייס יש באמת יוניטס אינסטוק באמת יש הרבה עכשיו הבוס אומר אני רוצה מוצרים שהם או שהם מעל 20 או שהם מתחת ל-10 אני

  23. 08:56

    יודע מה מתחת למה מה יש לנו פה משהו זול מתחת ל-10 הבוס מבקש מוצרים שהם עולים מעל 20 או מתחת ל-10 אז אני הבנתם קודם כל where לפני שאנחנו נמשיך אני לא שם סוגריים אפשר לשים פה סוגריים where תנאי n תנאי זה ההסבר הקודם חכו שנייה ההסבר הקודם היה שאפשר לכתוב כמה תנאים, ביניהם

  24. 09:23

    end, וצריך ששנייהם יתקיימו, אחרת השורה עפה מהתוצאות. אוקיי? יפה. עכשיו אני רוצה להראות לכם אור. אור עובד ככה, שאו צד שמאל מתקיים, או צד ימין מתקיים.

  25. 09:38

    מספיק שאחד התנאים מתקיים, או שמוצר מתחת ל-10, או שמוצר גדול מ-20, או זה או זה, השורה מקבלת true, אמת.

  26. 09:48

    כל הביטוי מקבל אמת, וכשכל הביטוי מקבל אמת, גם השורה הזאת הנוכחית נשארת במסך התוצאות ואז אנחנו רואים ש49 שורות יש לנו ובלי התנאי

לקורס המלא: קורס SQL ו‑DBA אפליקטיבי

ההרצאה הקודמת: פקודות SQL שחייבים לדעת

ההרצאה הבאה: פקודת Select עם Join

הרצאות קשורות מקורסים אחרים

  • פקודת ls בלינוקס
  • פקודת Foreach
  • המרה של Web Element ל-Select
  • פקודת git-help

קורסים נוספים במסלול

  • קורס NoSQL - MongoDB
  • קורס SSIS
  • קורס BI - ניתוח מסדי נתונים - Qlik Sense
  • קורס Power BI