רשימת תפוצה
הרשמו היום לרשימת התפוצה וקבלו:
• את כל השאלות והתשובות בקובץ מרוכז אחד.
• את כל המאמרים.
• הצעות עבודה חדשות.
הכנס אימייל:
• את כל השאלות והתשובות בקובץ מרוכז אחד.
• את כל המאמרים.
• הצעות עבודה חדשות.
הכנס אימייל:
maor
עבודה וראיון עבודה ב שאילתות , שאלות מראיון עבודה בנושא SQL.
התשובה:
Self Join זה כמו כל Join אחר, מלבד העובדה ששני עותקים של אותה טבלה יתחברו בשאילתה.
הנה דוגמא: טבלת העובדים שמכילה שורות לעובדים רגילים ולמנהלים.
אז, כדי למצוא את המנהלים של כל העובדים, אתה צריך לעשות Self Join.
דוגמאת קוד מצורפת:
CREATE TABLE emp
(
empid int,
mgrid int,
empname char(10)
)
INSERT emp SELECT 1,2,'Vyas'
INSERT emp SELECT 2,3,'Mohan'
INSERT emp SELECT 3,NULL,'Shobha'
INSERT emp SELECT 4,2,'Shridhar'
INSERT emp SELECT 5,2,'Sourabh'
SELECT t1.empname [Employee], t2.empname [Manager]
FROM emp t1, emp t2
WHERE t1.mgrid = t2.empid
הנה שאילתה מתקדמת שמשתמשת ב LEFT OUTER JOIN שאפילו מחזיר עובדים בלי מנהלים(סופר בוסים)
דוגמאת קוד מצורפת:
SELECT t1.empname [Employee], COALESCE(t2.empname, 'No manager') [Manager]
FROM emp t1
LEFT OUTER JOIN
emp t2
ON
t1.mgrid = t2.empid
הנה דוגמא: טבלת העובדים שמכילה שורות לעובדים רגילים ולמנהלים.
אז, כדי למצוא את המנהלים של כל העובדים, אתה צריך לעשות Self Join.
דוגמאת קוד מצורפת:
CREATE TABLE emp
(
empid int,
mgrid int,
empname char(10)
)
INSERT emp SELECT 1,2,'Vyas'
INSERT emp SELECT 2,3,'Mohan'
INSERT emp SELECT 3,NULL,'Shobha'
INSERT emp SELECT 4,2,'Shridhar'
INSERT emp SELECT 5,2,'Sourabh'
SELECT t1.empname [Employee], t2.empname [Manager]
FROM emp t1, emp t2
WHERE t1.mgrid = t2.empid
הנה שאילתה מתקדמת שמשתמשת ב LEFT OUTER JOIN שאפילו מחזיר עובדים בלי מנהלים(סופר בוסים)
דוגמאת קוד מצורפת:
SELECT t1.empname [Employee], COALESCE(t2.empname, 'No manager') [Manager]
FROM emp t1
LEFT OUTER JOIN
emp t2
ON
t1.mgrid = t2.empid
• נתקלתם באתגר במקום העבודה שאינכם יודעים איך לפתור?
• רשמו כאן את השאלה ושלחו אותה אלינו.
• אנו נפתור אותה בשבילכם ונפרסם את הפתרון באתר.
• רשמו כאן את השאלה ושלחו אותה אלינו.
• אנו נפתור אותה בשבילכם ונפרסם את הפתרון באתר.
| שאלה בנושא : SQL |
![]() |
||||
| שם מלא : | כתובת אימייל : | ||||
| שאלה למאגר : | |||||
הצע שאלה
שלח שאלה


