Skip to content Skip to sidebar Skip to footer

Mysql Select Rows That From Table01 That Doesn't Exist On Table02

I have two tables, table03 have 10 rows and table01 have 21 rows, now I want to get rows from table03 where they don't exist in table01, so far I wrote this query but it shows all

Solution 1:

You are on the right track. You can just add a where condition to filter on unmatched rows:

SELECT T3.DateAdded, T3.Query_name, T3.Fund, T3.Ticker 
FROM table_name03 T3 
LEFTJOIN table_name01 T1 
    ON  T3.DateAdded = T1.DateAdded 
    AND T3.Query_name = T1.Query_name 
    AND T3.Fund = T1.Fund
    AND T3.Ticker = T1.Ticker
WHERE T1.DateAdded ISNULL

You can also use not exists:

SELECT T3.DateAdded, T3.Query_name, T3.Fund, T3.Ticker 
FROM table_name03 T3 
WHERENOTEXISTS (
    SELECT1FROM table_name01 T1 
    WHERE
        T3.DateAdded = T1.DateAdded 
        AND T3.Query_name = T1.Query_name 
        AND T3.Fund = T1.Fund
        AND T3.Ticker = T1.Ticker
)

Post a Comment for "Mysql Select Rows That From Table01 That Doesn't Exist On Table02"