
IS NULL וב-IS NOT NULL.הטקסט המלא של הדקות הראשונות בהרצאה «אוביקט NULL» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
שלום לכולם, בשיעורנו היום אנחנו נעסוק באחד הנושאים הרוחביים ביותר בנושא של דאטאבייס, הוא הנושא של נל-אלי. בנל-וואליו זהו פרופרטיז מאפיין שאני מציין אותו ברמה של עמודה והוא גוליאני, הוא מציין האם העמודה עצמה יכולה לקבל נל או אינה יכולה לקבל נל.
בואו נתבונן כרגע בטבלת אינטלואיז, אנחנו יכולים לראות שבגין כל העמודה ועמודה בטבלה, לצד זה שמצוין לי מהו הדאטה טייפ שלה, מצוין לי האם היא יכולה לקבל נל true או false, כן או לא.
אנחנו יכולים לראות שעמודות כמו Employee ID, First Name ו-Last Name אלו שדות מנדטורי. רוצה לומר, חייבים להכניס בתוכן ערך. מנגד, שדות אחרים, כיוון Birthday, Hired at Address, אינם שדות מנדטוריים, לא חייבים להכניס בתוכם ערך והם יכולים לקבל את הערך נ"ל.
מהו נ"ל? כיצד אנחנו מתייחסים אליו? כיצד אנחנו משתמשים בו? ומהם הפונקציות הרלוונטיות לעבודה עם נ"ל?
את זה אנחנו נראה בדקות הקרובות. כשאנחנו מדברים בעצם על ערך נ"ל כוונתנו לומר שמדובר כאן במשהו שהוא אינו מחרוזת ריקה והוא גם לא מספר אפס.
אנחנו נראה שאם אני שולף כאן את first name last name city sick region הפורמים פלואיז שליפה של עמודות הללו בתוך הטבלאה יגלה לי שישנם עוד מספר עובדים בחברה שבגינם לא מצוין כל ריג'ן והערך שלהם של הריג'ן שלהם הוא נ"ל.
שימו לב, לא מדובר כאן במחרוזת ריקה אלא מדובר בהיעדר ערך כלשהו. לא מדובר כאן במספר 0 במידה והיה מדובר כאן בשדה מספרי, אלא מדובר כאן במחרוזת שדה מחרוזתי המקבל כאן את הערך נ"ל.
מה המגבלה שלנו בעבודה עם נ"ל? שכל פעולה אריתמטית או פעולת שירשור ופונקציה עבור שדות עם נ"ל מחזירה לי בהכרח את הערך נ"ל. ולכן, כשאני אבוא לשרשר את העמודות הללו cp+ איזשהו רווח לשרשר אותו יחד עם ריג'ן על מנת לתת להם בסופו של דבר איזשהו אליאס של פול אדרס את העמודות הללו אני רוצה לשרשר ולהציג אותן
תחת עמודה אחת תחת הכותרת פול אדרס כשאני אבוא לחבר אותם אנחנו נראה שבמקומות שבהם נמצא נ"ל אף שהיה ערך ולידי בשדה בעמודה סיטי, הערך עצמו ביחד עם שרשור עם נ"ל התקבל היא בסופו של דבר תוצאה של נ"ל.
איך אנחנו פותרים את הבעיה? הפתרון של הבעיה יבוא על ידי זה שאנחנו נשתמש בפונקציית איזנל. פונקציית איזנל מקבלת שני ערכים ערך ראשון אותו היא מציגה במידה והערך עצמו אינו נ"ל יוצג הערך הזה, במידה והערך הראשון הוא נ"ל יוצג בהכרח הערך השני.
אשר על כן, כאשר אני משתמש בריג'ן ויש לי חשש שישנם ערכים בריג'ן שבהם הערך שווה לנ"ל, הערך הוא נ"ל, אז אני עוטף את זה תחת פונקציית isNull ובכל מקום שכזה שבו יתקבל לי נ"ל תחת ריג'ן הערך יוחלף במחוזת ריקה.
מחוזת ריקה אני כבר יכול לשרשר אותה יחד עם ct, כפי שאנחנו יכולים לראות בדוגמה הבאה. גם כאן, עבור סטיבן, מיכאל ורוברט, אף שאין להם ריג'ן, כיוון שיש להם סיטי, הסיטי שורשר יחד עם נ"ל.
זה שימוש שאנחנו משתמשים בפונקציית isNull בתוך חלק ה-select. יש