מחשביםתכנות

בין SQL: תיאור דוגמאות

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

"בין" מפעיל SQL: הגבלות תחביר

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

התחביר של המפעיל הוא מאוד פשוט:

בחר *

מטבלת T1

איפה t1.n בין 0 ו 7

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

למנות, אילו סוגים של נתונים למפעיל יכול לעבוד בין SQL:

  1. עם מספרים - שלם ו שבר.
  2. עם תאריכים.
  3. עם טקסט.

האם זה בין משפט SQL יש מוזרויות מסוימות. אנו לומדים להכיר אותם:

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

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

מספרים ותאריכים לדוגמא בטווח מסוים

כן טבלה עם מנהלי נתונים, עובד בארגון. הטבלה תהיה במבנה הבא:

שם שדה

סוג נתונים

תיאור

קוד

counter

זיהוי עובד Unique

שם המשפחה

טקסט

שם קצין

שם

טקסט

שם עובד

ושם

טקסט

עובד ושם

פול

טקסט

אנשי סקס (ז / נ)

Data_priema

תאריך / זמן

תאריך קבלת העובד לעבודה

Chislo_detey

מספר

מספר הילדים בבית עובד

מלא את הטבלה לפי הנתונים הבאים:

קוד

שם המשפחה

שם

ושם

פול

Data_priema

Chislo_detey

1

אלכסנדרוב

איירין

נ

F

2014/05/01

1

2

בורובוי

אנדרו

ס

M

2013/09/21

0

3

וינוגרדוב

סרגיי

פבלוביץ

M

1998/06/15

1

4

Shumilin

אלכסנדר

B.

M

2004/12/25

2

5

וישניאקוב

ליאוניד

א

M

2007/10/09

0

6

Tropnikov

וסילי

ס

M

2016/01/12

3

7

פנינים

ניקיטה

V.

M

2017/01/11

1

8

אבדיבה

ניק

ק

F

2001/03/31

2

9

יאקובלב

ליאוניד

ניקולייביץ

M

2009/02/16

0

יוצרים את שאילתת SQL בין, אשר יעזור לנו לבחור את כל העובדים שיש להם 2 או 3 ילדים:

בחר מנהלים. *

ממנהלים

איפה Menedzhery.Chislo_detey בין 2 ו 3

התוצאה תהיה שלוש שורות עם נתונים על עובדים עם שמות משפחה Shumilin, Tropnikov ו אבדיבה.

עכשיו בחר את העובדים שהתקבלו מיום 1 בינואר 2005 ועד 31 בדצמבר 2016. יצוין כי מאגרי מידע שונים בדרכים שונות מאפשרים לך להקליט מבחינת תאריכים. ברוב המקרים, את התאריך של כוח בצורת יום-חודש-שנה (או יותר נוחה) ורשם במרכאות יחידות או כפולות. ה- DBMS גישת MS התאריך מהווה הסימן "#". הפעל בדוגמה זו מבוססת רק על זה:

בחר מנהלים. * Menedzhery.Data_priema

ממנהלים

איפה מנהלי. Data_priema עבור בין # 2005/01/01 ולמס '31/12/2016 #

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

הבא, בוא נראה איך זה עובד בין מחרוזות SQL.

עבודה בין מחרוזות

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

בחר מנהלים. *

ממנהלים

איפה Menedzhery.Familiya בין "A" ו "B"

ORDER BY 2

התוצאה היא כדלקמן:

קוד

שם המשפחה

שם

ושם

פול

Data_priema

Chislo_detey

8

אבדיבה

ניק

ק

F

2001/03/31

2

1

אלכסנדרוב

איירין

נ

F

2014/05/01

1

2

בורובוי

אנדרו

ס

M

2013/09/21

0

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

בחר מנהלים. *

ממנהלים

איפה Menedzhery.Familiya בין "A" ו- "D"

ORDER BY 2

כאשר הוצא להורג, תוצאות השאילתה תספקנה אותנו לגמרי.

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

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 iw.atomiyme.com. Theme powered by WordPress.