סעיף PostgreSQL IN

S Yp Postgresql In



יש הרבה סעיפים שאתה יכול להשתמש ב- PostgreSQL. סעיף IN הוא אחד מהסעיפים הללו, ויש לו יתרונות רבים כאשר אתה מבין כיצד להשתמש בו במיוחד בשילוב עם סעיף WHERE. סעיף IN עובד בעיקר עם משפט SELECT כדי לסנן איך אתה רוצה שהשאילתה תבוצע. כאשר הוא מבוצע, פסקת IN בודק את הרשימה שצוינה כדי לראות אם היא תואמת את הקריטריונים ומוציאה את הערכים התואמים.

הבנת איך לעבוד עם פסקת IN- PostgreSQL

ב-PostgreSQL, אתה משתמש בסעיף IN עם פסקת WHERE כדי לסנן את הפלט על ידי בדיקה מול רשימת ערכים, והתוצאה היא ערך בוליאני.

להלן התחביר לשימוש:







ערך IN (value1, value2, value_n);

התחביר הנתון לוקח את הערך ובודק אותו מול ה-value1, value2 ו-value_n. לאחר מכן הוא מחזיר בוליאנית אם יש התאמה. רשימת הערכים שיש לבדוק מולם יכולה להיות מכל סוג מילולי כולל מחרוזות ומספרים שלמים. חוץ מזה, אתה יכול ליצור שאילתת משנה כגון הצהרת SELECT.



בואו נדון בדרכים השונות להשתמש באופרטור PostgreSQL IN.



1. עבודה עם שאילתת משנה

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





נניח שאנו רוצים לבדוק את כל הלקוחות שה-'order_id' שלהם יכול להיות כל אחד מהערכים שצוינו בסעיף השאילתה. אנו מוסיפים את ערך היעד כחלק הראשון של ההצהרה שלנו ולאחר מכן משתמשים בסעיף WHERE עם משפט IN כדי ליצור את השאילתה.



כך מופיעה השאילתה שלנו:

PostgreSQL בודק את העמודה 'order_id' בטבלת 'customers' ומחזירה את כל הרשומות שה-order_id שלהן תואם לכל אחת מאלה שציינו בסוגריים.

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

2. עבודה עם IN(SELECT)

לפעמים, ציון ידני של רשימת הערכים עשוי שלא לעבוד. אתה יכול לבחור להשתמש במשפט SELECT כדי להביא רשימה של ערכים מהטבלה שלך ולהשתמש בהם כדי לבדוק מול ערך היעד. הוספת הטבלה הבאה למסד הנתונים שלנו, נוכל לשלב אותה עם טבלת ה'לקוחות' הקודמת כדי לבצע את שאילתת המשנה שלנו:

נניח שאנו רוצים להציג את הרשומות מטבלת 'הזמנות' רק אם ערך היעד (order_id) נמצא בטבלת 'לקוחות'. כאן, העמודה 'customers.order_id' היא רשימת הערכים שלנו ואנו בודקים את הערכים שלה מול אלה בעמודה 'orders.order_id'.

במקרה זה, רק שלושה ערכים תואמים את החיפוש וזה מה שאנו מקבלים בתור הפלט עבור פסקת IN(SELECT) PostgreSQL שלנו.

3. עבודה עם סעיף NOT IN PostgreSQL

באמצעות הפקודה הקודמת, אנו יכולים לבחור להציג את הערכים האחרים שאינם תואמים לערך היעד. לשם כך, אנו עושים את ההיפך ממה שעושה סעיף IN. לפיכך, אנו שוללים את הפקודה להיות NOT IN.

כך אנו כותבים את הפקודה החדשה שלנו:

שימו לב שאנו מקבלים פלט שונה מאלה שקיבלנו בדוגמה 2. הסיבה לכך היא שאנו עובדים עם ה- NOT IN במקום ה-IN.

באופן אידיאלי, אתה יכול להוסיף NOT בכל פעם שאתה רוצה לשלול את התוצאות שאתה מקבל עם הסעיף PostgreSQL IN. היישומים הם אינסופיים. כאשר אתה רוצה לבדוק את הערכים ולראות אותם תואמים במהירות, סעיף IN הוא החבר הכי טוב שלך.

סיכום

משפט IN עובד עם משפט WHERE כדי לבדוק ערך יעד מול רשימת ערכים. פסקת IN מחזירה בוליאנית שמאשרת אם לערך היעד יש התאמה ברשימת הערכים שציינת. אתה יכול לציין את הערכים בתור מילוליים או להשתמש במשפט SELECT כדי ליצור שאילתת משנה לשימוש. נתנו שלושה מקרים כיצד אתה יכול להשתמש בסעיף PostgreSQL IN. יש לקוות, זה נתן לך תובנות להבנה כיצד לעבוד עם סעיף PostgreSQL IN.