Krzysztof Deneka [blastar] Czasem potrzebujemy wyświetlić tylko te wiersze tabeli których id znajduje się w innej tabeli.
Załóżmy następujący przypadek: tabela produkty
+---+-----------------+
| id| nazwa |
+---+-----------------+
| 1|Dysk 200GB |
| 2|Dysk 120GB |
| 3|Dysk 80GB |
| 4|Dysk 40GB |
+---+-----------------+
tabela produkty_promocja
+---+-----------------+
| id| id_produktu |
+---+-----------------+
| 1|2 |
| 2|4 |
+---+-----------------+
Aby teraz wybrać tylko te produkty których id znajduje się w tabeli produkty_promocja wykonujemy: SELECT * FROM produkty WHERE id IN (SELECT id_produktu FROM produkty_promocja)
i dostajemy +---+-----------------+
| id| nazwa |
+---+-----------------+
| 2|Dysk 120GB |
| 4|Dysk 40GB |
+---+-----------------+