-2

I have two tables:

t1
------------
id
user


t2
------------
user_id
item

I need to select from t1 if no matching records found in t2

SELECT * 
FROM t1
LEFT JOIN t2 ON (t1.id = t2.user_id)
WHERE ???

Kinda stuck...

santa
  • 11,716
  • 43
  • 149
  • 239

2 Answers2

4
SELECT t1.* 
FROM t1
LEFT JOIN t2 ON  t1.id = t2.user_id 
WHERE t2.user_id IS NULL
Oto Shavadze
  • 37,634
  • 51
  • 140
  • 215
0

You can use NOT EXISTS, e.g.:

SELECT * FROM t1
WHERE NOT EXISTS(
    SELECT * FROM t2 WHERE user_id = t1.id
); 

Here's the SQL Fiddle.

Darshan Mehta
  • 28,982
  • 9
  • 60
  • 90