
ProductName ו-UnitPrice, כך שהתוצאה מציגה רק אותן.* מביא את כל העמודות, שימושי כשלא יודעים את שמותיהן.SELECT עם העמודות, ואחריו FROM עם שם הטבלה. אפשר לכתוב לפני שם הטבלה את שם בסיס הנתונים ואת שם הסכמה (schema).UnitPrice > 20 משאיר 37 מוצרים, ו-UnitPrice > 25 משאיר 28.WHERE 1 = 1 מחזיר את כל השורות, ו-WHERE 1 = 2 לא מחזיר אף שורה.SELECT * FROM Products, SELECT ProductName, UnitPrice FROM Products, WHERE UnitPrice > 20, AND, OR, WHERE 1 = 1.הטקסט המלא של הדקות הראשונות בהרצאה «פקודת Select» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
שלום וברוכים הבאים להרצאה על פקודת סלקט זאת בעצם ההרצאה הראשונה שמסבירה איך עובדת פקודת סלקט שזה היסודות של sql ואנחנו נפתח כלי ניהול sql management studio כלי ניהול של sql נגיד לו להתחבר לשרת 10895 זה שרת אצלי עם sa זה user בsql שהוא כמו
אדמיניסטרטור והסיסמה ששמתי נעשה קונקט, אנחנו מתחברים ל-SQL. יש לנו ב-SQL דאטאבייס מוכן של Northwind שמייקרוסופט הכינו לנו, ואנחנו רוצים בעצם לראות את הפרודקטס, את המוצרים נניח, את טבילת המוצרים.
אז יש את כלי הגרפיה היפה שאתה יכול ללכות סריט קליק ולעשות עליו סלקט. סלקט טופ 1000 תראה לי 1000 שורות ראשונות והוא למעשה יכתוב את הפקודה במקומי. אז אנחנו יכולים להשתמש בזה, אנחנו יכולים לכתוב פקודה לבד.
אז תראו, מה שזה עושה הוא כתב לי לבד סלקט טופ 1000 תראה לי רק 1000 שורות למקרה שיש המון המון שורות שלא יעשה עומס יעביר לי הרבה מאוד שורות אני לא צריך את זה כי אין לי 1000 שורות יש לי סך הכל 78 שורות יפה ואחרי סלקט תראה לי אי אפשר פה להכניס נתונים כן זה רק שולח את הפקודה הזאת לשרת ושרת מחזיר לי תוצאות האלו שאני רואה במסך
אז איך הולכת פקודה פקודה הולכת סלקט אחרי זה כותבים איזה עמודות בא לי לראות אני רוצה עמודת product ID, אני רוצה שם, אני רוצה מספר ספק, קטגוריה, איזה עמודות אני רוצה.
נניח שאני רוצה רק מוצר ו-unit price. אם אני רוצה רק מוצר ו-unit price, אז אני אומר לו, תראה לי רק product name, אני מוחק את כל השאר, ו-unit price, מחיר יחידה.
אני יכול לשים את זה בשורה אחת, בשתי שורות, זה לא משנה לו בכלל. אז ככה, עמודה פסיק עמודה, מה להראות לי על המסך? ושימו לב, execute פה, מראה לי באמת רק שתי עמודות.
לא מעניין אותי כל השאר אני רוצה לקבל מוצר והמחיר שלו במסך ואחרי זה אני לוקח את כל התוצאות האלו אתם רואים פה הוא לוחץ פה מסמן את כולם הוא עושה רייט קליק copy with headers כולל כותרות של העמודות ככה זה רק נתונים זה עם העמודות שם את זה באקסל ושולח לבוס שלי בבקשה מחירון שביקשת אני גם עושה לו ככה שם המוצר מחיר יחידה ושולח לו את הטבלה הזאת באקסל ככה אני עושה לו דוח מהיר למקרה שהוא ביקש עושה
סלקט מדאטאבייס שולח לו את זה דרך אקסל ולהתראות. זה עומדים פה על התוצאות, עושה קופי ווט האדרס, או קופי בלי האדרס.
האדרס זה השם הזה היפה למעלה. יופי, אז איך עובדת פקודת סלקט? סלקט, אתה אומר לו איזה עמודות אתה רוצה לראות על המסך, פרום, איזה טבלה.
שימו לב, שם של טבלה, אפשר לשים שם של דאטאבייס, נורטווינד, אפשר לא לכתוב אותו, שזה במקרה פה, אם אני לא כותב אותו, אני צריך פה להעביר את זה לנורטווינט.
אז איזה יוזר יצר אותה? גם את זה לא חייבים לכתוב. ופרודקטס, שם הטבלה עצמה. אתם רואים, זה עובד, אקזיקיוט, עובד. אז יש את השם המלא של הטבלה, שם פרטי, שם משפחה, מה שנקרא, שזה שם של הדאטאבייס, שם של יוזר שיצר אותה.
אחרי זה אנחנו נדבר על זה יותר לעומק, זה לא באמת יוזר, זה נקרא סכמה, אבל נדבר על זה אחרי זה. ושם הטבלה עצמה, פרודקטס.
יופי. אם אני לא יודע שמות של עמודות, אם אני רוצה לראות את כל העמודות, אני יכול לשים כוכבית. כוכבית אומרת לו, תשים את כל העמודות. אופס, עשיתי פה משהו לא טוב.
תשים פה את כל העמודות. תשים פה את כל העמודות, ואז במקום לפרט עמודות, הוא שם את כל העמודות שיש.
ואני מקבל תוצאות במסך. מצוין. אבל עכשיו הבוס שלי ביקש רק את המוצרים, רק את השמות של המוצרים. בואו נעשה כוכבית אחרי זה נסנן תוצאות שהמחיר שלהם יותר גדול מ-20 דולר הוא רוצה רק את המוצרים העיקריים מעל 20 דולר הוא לא רוצה את כל המוצרים רק את המוצרים 20 דולר אומר לי יוני שלח לי דוח מה עם המוצרים העיקריים
שלנו מעל 20 דולר אני יכול לעבור 78 מוצרים ידנית או שאני יכול לעשות where איפה תעבור שורה שורה בואו נעבור שורה שורה ונבדוק איזה שהוא תנאי איזה תנאי שעמודת unit unit price גדולה מ-20 אז אני כותב where unit price העמודה הזאת בשורה הנוכחית שבודקים הוא בודק שורה שורה גדולה מ-20 זאת אומרת הוא לוקח את כל התוצאות של הסלקט שזה זה מה שאנחנו רואים למסך עובר שורה שורה ועבור כל
שורה בודק האם התנאי מתקיים מה התנאי שעמודת unit price גדולה מ-20 אם התנאי מתקיים הוא true השורה נשארת אם הוא false השורה אפה בואו נראה שזה באמת עובד אני מסמן בכחול מה שאני רוצה להריץ ועושה אקזיקיוט ובאמת שימו לב נשארו לי 37 מוצרים תראו באמת נשארו לי 37 מוצרים בואו נעשה יותר גדול מ-25 דולר אקזיקיוט ונשארו לי 28 מוצרים אז יופי אז ווייר אומר עבור כל שורה
מה קורה כאשר את זה הוא מחליף בנתון של אותה שורה מה יקרה אם אני אעשה ווייר 1 שווה 1 ווייר 1 שווה 1 אחד תמיד שווה אחד אז בגלל שאחד תמיד שווה אחד לכל שורה התנאי הזה יתקיים ואני אקבל בסופו של דבר את כל השבעים ושמונה שורות שלי כי את כל השבעים ושמונה שורות יופי מה יקרה אם אני אעשה אחד שווה שתיים הוא יבדוק לכל שורה אם אחד שווה שתיים יגיד לא זה לא
נכון ולא יראה לי אף שורה בתוצאה תהיה לי יהיה לי מסך ריק יחזרו אפס שורות יפה עכשיו אם אני רוצה להריץ דרך אגב חלק מלא כל מה שיש אני מסמן בכחול רק שתי שורות עושה לו אקזיקיוט ואז הוא מראה לי עכשיו אני רוצה ככה גם שיוניט פרייס יהיה גדול מ-20 וגם שיש במלאי יוניט אין סטוק יש במלאי מוצרים
שיש במלאי אז אני רוצה שני תנאים גם את זה וגם אנד שימו לב אני שם אנד פקודת אנד בווייר שהוא בודק גם תנאי הזה וגם תנאי הזה יוניט אין סטוק אין סטוק גדול מנניח מ-20 יחידות כן שיש לו במלאי מספיק אם אני רוצה להריץ את כל מה שאני רואה פה אני לא צריך לסמן בכחול אפשר ישר ללחוץ execute לא כתבתי טוב units units in stock
עובד בואו נראה 21 שורות ואם אני מסמן את זה בלי מריץ רק את הכחול בלי התנאי השני אני רוצה לראות שהתנאי באמת עובד ככה יש 21 שורות וככה יש 37 שורות אתם רואים כשמריצים בלי התנאי השני יש 37 ומריצים הכל יש 21 זה אומר שהוא באמת מסנן אתם יכולים לראות שבאמת units יוניטס פרייס יש באמת יוניטס אינסטוק באמת יש הרבה עכשיו הבוס אומר אני רוצה מוצרים שהם או שהם מעל 20 או שהם מתחת ל-10 אני
יודע מה מתחת למה מה יש לנו פה משהו זול מתחת ל-10 הבוס מבקש מוצרים שהם עולים מעל 20 או מתחת ל-10 אז אני הבנתם קודם כל where לפני שאנחנו נמשיך אני לא שם סוגריים אפשר לשים פה סוגריים where תנאי n תנאי זה ההסבר הקודם חכו שנייה ההסבר הקודם היה שאפשר לכתוב כמה תנאים, ביניהם
end, וצריך ששנייהם יתקיימו, אחרת השורה עפה מהתוצאות. אוקיי? יפה. עכשיו אני רוצה להראות לכם אור. אור עובד ככה, שאו צד שמאל מתקיים, או צד ימין מתקיים.
מספיק שאחד התנאים מתקיים, או שמוצר מתחת ל-10, או שמוצר גדול מ-20, או זה או זה, השורה מקבלת true, אמת.
כל הביטוי מקבל אמת, וכשכל הביטוי מקבל אמת, גם השורה הזאת הנוכחית נשארת במסך התוצאות ואז אנחנו רואים ש49 שורות יש לנו ובלי התנאי