SQL | פונקציות NULL

SQL | פונקציות NULL

במסד הנתונים ערכי null משמשים כמצייני מיקום עבור נתונים שחסרים או אינם זמינים. ערך null הוא סוג נתונים גמיש שניתן למקם בעמודה של כל סוג נתונים כולל string int blob ו-CLOB. זה לא רכיב של שום סוג נתונים ספציפי. ערכי Null מועילים בעת ניקוי הנתונים לפני ניתוח חקרני.

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

כמה נקודות מפתח לגבי השימוש ב-NULL ב-SQL:

    השוואה עם NULL: השוואות עם NULL באמצעות אופרטורים רגילים להשוואה כמו '=' ' <>'' <' '>' אל תניב אמת או שקר אלא תפיק תוצאה של לא ידוע או NULL. במקום זאת עליך להשתמש באופרטורים IS NULL או IS NOT NULL כדי לבדוק אם יש ערכי NULL.  טיפול ב-NULL בביטויים: בעת ביצוע פעולות אריתמטיות או אחרות הכוללות ערכי NULL, התוצאה בדרך כלל הופכת ל-NULL. לדוגמא כל פעולת אריתמטית הכוללת אופרנד NULL תביא לתוצאה NULL. ערכי NULL מצטברים: רוב הפונקציות המצטברות ב-SQL כגון SUM AVG COUNT וכו' התעלם מערכי NULL בעת חישוב תוצאות. עם זאת, יש כמה פונקציות מצטברות כמו COUNT(*) שמתחשבות בערכי NULL.  אינדקס ו-NULL: מערכות מסד נתונים מסוימות מטפלות בערכי NULL בצורה שונה בכל הנוגע לאינדקס. 
  1. חשוב לעיין בתיעוד הספציפי של מערכת ניהול מסד הנתונים שלך כדי להבין כיצד מתייחסים לערכי NULL במבני אינדקס. מלכודות פוטנציאליות: הנוכחות של ערכי NULL יכולה להכניס מורכבות ומלכודות פוטנציאליות בעת ביצוע שאילתות או מניפולציה של נתונים. זה דורש שיקול דעת זהיר לטפל בערכי NULL כראוי בשאילתות SQL כדי למנוע תוצאות בלתי צפויות או שגויות.

למה אנחנו צריכים ערכי NULL?

פונקציות Null נדרשות לביצוע פעולות על ערכי Null המאוחסנים במסד הנתונים. עִם בָּטֵל ערכים שאנו יכולים לבצע פעולות המזהות בבירור אם הערך הוא null או לא. עם היכולת הזו לזהות נתונים אפסיים, ניתן לבצע עליהם פעולות דומות לשיטות ה-join של SQL.

להלן פונקציות ה-NULL המוגדרות ב-SQL:

ISNULL()

לפונקציית ISNULL יש שימושים שונים ב-SQL Server וב-MySQL. ב-SQL Server הפונקציה ISNULL() משמשת להחלפת ערכי NULL. 

תַחבִּיר:

SELECT עמודות ISNULL(column_name value_to_replace)

FROM table_name;

דוּגמָה : שקול את טבלת העובדים הבאה

SQL | פונקציות NULL 

מצא את סכום השכר של כל העובדים אם השכר של עובד כלשהו אינו זמין (או ערך NULL) השתמש בשכר כ-10000.

שְׁאֵלָה:

SELECT SUM(ISNULL(Salary 10000) AS Salary FROM Employee; 

תְפוּקָה

SQL | פונקציות NULL 

ב-MySQL משתמשים בפונקציה ISNULL() כדי לבדוק אם ביטוי הוא NULL או לא. אם הביטוי הוא NULL הוא מחזיר TRUE else FALSE. 

תַחבִּיר:

בחר עמודות

FROM table_name

WHERE ISNULL(column_name);

דוּגמָה : שקול את טבלת העובדים הבאה

SQL | פונקציות NULL 

תביא את השם של כל העובדים שהשכר שלהם זמין בטבלה (לא NULL).

שְׁאֵלָה:

SELECT Name FROM Employee WHERE ISNULL(Salary); 

תְפוּקָה: 

SQL | פונקציות NULL 

IFNULL()

פונקציה זו זמינה ב-MySQL ולא ב-SQL Server או ב-Oracle. פונקציה זו לוקחת שני ארגומנטים. אם הארגומנט הראשון אינו NULL הפונקציה מחזירה את הארגומנט הראשון. אחרת הארגומנט השני מוחזר. פונקציה זו משמשת בדרך כלל להחלפת ערך NULL בערך אחר. 

תַחבִּיר:

SELECT עמודות IFNULL(column_name value_to_replace)

FROM table_name;

דוּגמָה : שקול את טבלת העובדים הבאה

SQL | פונקציות NULL 

 מצא את סכום השכר של כל העובדים אם השכר של עובד כלשהו אינו זמין (או ערך NULL) השתמש בשכר כ-10000.

שְׁאֵלָה;

SELECT SUM(IFNULL(Salary 10000) AS Salary FROM Employee; 

תְפוּקָה :

SQL | פונקציות NULL 

לְהִתְמַזֵג()

הפונקציה COALESCE ב-SQL מחזירה את הביטוי הראשון שאינו NULL מבין הארגומנטים שלה. אם כל הביטויים מוערכים ל- null אז הפונקציה COALESCE תחזיר null. 

תַחבִּיר :

SELECT עמודות CAOLESCE(expression_1....expression_n)

FROM table_name;

דוּגמָה

שקול את הטבלה הבאה Contact_info 

SQL | פונקציות NULL 

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

שְׁאֵלָה:

SELECT Name COALESCE(Phone1 Phone2) AS Contact FROM Contact_info; 

תְפוּקָה

SQL | פונקציות NULL 

NULLIF()

הפונקציה NULLIF לוקחת שני ארגומנטים. אם שני הארגומנטים שווים אז NULL מוחזר. אחרת הארגומנט הראשון מוחזר. 

תַחבִּיר:

SELECT עמודות NULLIF(expression1 expression2)

FROM table_name;

דוּגמָה : שקול את טבלת המכירות הבאה SQL | פונקציות NULL

SELECT Store NULLIF(Actual Goal) FROM Sales; 

תְפוּקָה

 

מַסְקָנָה

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

צור חידון