I have 3 tables and I am joining these 2 tables as follows:
SELECT EMP.FNAME,EMP.LNAME,EMP.AGE,EMPD.TQ,EMPD.TA,CTY.CITY_NAME FROM
EMPLOYEE EMP,EMPLOYEE_DETAIL EMPD, CITY CTY
WHERE EMP.EMP_ID=EMPD.EMP_ID开发者_高级运维 AND EMPD_CITY_ID=CTY.CITY_ID
I want to display records even if City record is not in CITY table. For eg. if City_ID record for say 10 is not in City table but there is an employee detail record with City_id 10 it should display City_name as null instead of not displaying the record at all.
Appreciate your help
You need to use a left join:
 SELECT EMP.FNAME,
                EMP.LNAME,
                EMP.AGE,
                EMPD.TQ,
                EMPD.TA,
                CTY.CITY_NAME 
    FROM EMPLOYEE EMP INNER JOIN EMPLOYEE_DETAIL EMPD
        ON EMP.EMP_ID=EMPD.EMP_ID LEFT JOIN  CITY CTY
    ON EMPD_CITY_ID=CTY.CITY_ID
A less verbose version (specific to Oracle):
SELECT EMP.FNAME,
             EMP.LNAME,
             EMP.AGE,
             EMPD.TQ,
             EMPD.TA,
             CTY.CITY_NAME 
  FROM EMPLOYEE EMP,
         EMPLOYEE_DETAIL EMPD, 
             CITY CTY
 WHERE EMP.EMP_ID=EMPD.EMP_ID 
   AND EMPD_CITY_ID=CTY.CITY_ID(+)              
 
         
                                         
                                         
                                         
                                        ![Interactive visualization of a graph in python [closed]](https://www.devze.com/res/2023/04-10/09/92d32fe8c0d22fb96bd6f6e8b7d1f457.gif) 
                                         
                                         
                                         
                                         加载中,请稍侯......
 加载中,请稍侯......
      
精彩评论