Vamos chamar esta tabela customers
:
+----+-------------+
| id | name |
+----+-------------+
| 1 | roger |
| 2 | steve |
| 3 | harold |
| 4 | tom |
+----+-------------+
E esta é a tabela orders
:
+----------+-------------+---------+
| order_id | customer_id | total |
+----------+-------------+---------+
| 101 | 1 | 25 |
| 102 | 1 | 18 |
| 103 | 3 | 149 |
| 104 | 4 | 299 |
+----------+-------------+---------+
Como posso selecionar apenas as linhas da tabela customers
se houver uma linha na orders
tabela (garantindo customers.id
a correspondência orders.customer_id
(e também ignorando as duplicatas)?
Uma maneira canônica de expressar isso seria usar a lógica existente:
Também poderíamos usar uma abordagem baseada em junção:
Mas precisamos usar uma seleção distinta aqui para remover possíveis duplicatas.