İki Tablo Arasındaki Farkı Bulmak

Mantık gayet basit. Birbiriyle eşleşmeyen varsa dışarıda kalıyor.

Örneğin böyle bir tablomuz olduğunu düşünürsek

MySQL
7 lines
CREATE TABLE urun (`id` int);
INSERT INTO urun (`id`)
VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
CREATE TABLE urundetay (`id` int, `uid` int);
INSERT INTO urundetay (`id`,`uid`)
VALUES (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 7);
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Yöntem 1

MySQL
2 lines
SELECT u.id FROM urun as u
WHERE NOT EXISTS (SELECT * FROM urundetay as d WHERE d.uid = u.id )
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Yöntem 2

MySQL
3 lines
SELECT u.id FROM urun as u
LEFT OUTER JOIN urundetay as d ON u.id = d.uid
where d.uid IS NULL
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Çıktısı

Markdown
8 lines
+-----+
| id |
+-----+
| 6 |
| 8 |
| 9 |
| 10 |
+-----+
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

 

Sizin Değerli Görüşlerinize İhtiyacımız Var.