RIGHT OUTER JOIN 演算

RIGHT OUTER JOIN演算ã?¯ã€?JOIN節ã?«ç½®ã??ã?“ã?¨ã?®ã?§ã??ã‚‹JOIN演算ã?®ä¸€ç¨®ã?§ã?™ã€‚ ã?“ã?®å¼?ã?§ã?¯ã€?一ã?¤ç›®(å·¦)ã?®è¡¨ã?«å?ˆã?†è¡Œã?Œã?ªã?„二ã?¤ç›®(å?³)ã?®è¡¨ã?«ã?‚る行もçµ?æžœã?«æ®‹ã‚Šã?¾ã?™ã€‚ã??ã?®ã?¨ã??一ã?¤ç›®ã?®è¡¨ã?‹ã‚‰ã?®æƒ…å ±ã?¯NULLã?¨æ‰±ã‚?れã?¾ã?™ã€‚A LEFT OUTER JOIN B ã?¯ B RIGHT OUTER JOIN Aã?¨ã€?列ã?®é †ã?Œé?•ã?†äº‹ã‚’除ã?‘ã?°å?Œã?˜ã?§ã?™ã€‚

æ§‹æ–‡

表� RIGHT [ OUTER ] JOIN 表�
{
    ON 真�� 
    }

ON節ã?«ã?¦å?¯è¦–ã?ªã?®ã?¯ã€?直接ã?®è¡¨ã?¨ç›´æŽ¥ã?®SELECTã?«ã‚ˆã‚‹å•?å?ˆã?›ã?«ã?‚る表ã?§ã?™ã€‚ ON節ã?§ã?¯çµ?å?ˆã?•れã?¦ã?„ã?ªã?„表をå?‚ç…§ã?™ã‚‹ã?“ã?¨ã‚‚ã?§ã??ã?¾ã?™ã?—ã€?çµ?å?ˆã?—ã?¦ã?„る表をå?‚ç…§ã?—ã?ªã??ã?¨ã‚‚ã?‹ã?¾ã?„ã?¾ã?›ã‚“。(ã?Ÿã? ã?—一般的ã?«ã?¯å?‚ç…§ã?—ã?¾ã?™ã€‚)

例1

-- 都市���国を����
-- 全��国�都市�一覧を得��。

SELECT COUNTRIES.COUNTRY, CITIES.CITY_NAME 
FROM CITIES 
RIGHT OUTER JOIN COUNTRIES 
ON CITIES.COUNTRY_ISO_CODE = COUNTRIES.COUNTRY_ISO_CODE

-- 都市���国を����
-- アフリカ�全��国�都市�一覧を得��。

SELECT COUNTRIES.COUNTRY, CITIES.CITY_NAME
FROM CITIES 
RIGHT OUTER JOIN COUNTRIES 
ON CITIES.COUNTRY_ISO_CODE = COUNTRIES.COUNTRY_ISO_CODE
WHERE Countries.region = 'Africa'

-- RIGHT JOIN�����内容�記述�より�
-- ��例����果を得��。
SELECT COUNTRIES.COUNTRY, CITIES.CITY_NAME
FROM CITIES 
RIGHT JOIN COUNTRIES 
ON CITIES.COUNTRY_ISO_CODE = COUNTRIES.COUNTRY_ISO_CODE
WHERE Countries.region = 'Africa'

例2

-- 演算�表��一���。
-- ã?ªã?®ã?§FRONå?¥ã?«ã?¯è¤‡æ•°ã?®æ¼”ç®—ã‚’ç½®ã??ã?“ã?¨ã?Œã?§ã??ã?¾ã?™ã€‚
-- 以下�例��全社員�社員番��苗字を�
-- ã??ã?®ç¤¾å“¡ã?®ç®¡ç?†è€…ã?®ç¤¾å“¡ç•ªå?·ã?¨è‹—å­—ã?¨å…±ã?«ä¸€è¦§ã?—ã?¾ã?™ã€‚

SELECT E.EMPNO, E.LASTNAME, M.EMPNO, M.LASTNAME	
	FROM EMPLOYEE E RIGHT OUTER JOIN	
	DEPARTMENT RIGHT OUTER JOIN EMPLOYEE M 
        ON MGRNO = M.EMPNO
        ON E.WORKDEPT = DEPTNO