TableA
------
id
Name
other_fields
TableB
------
A_id (foreign key to TableA.id)
other_fields
Выбор записей из TableB
которых ссылки на записи в TableA с некоторым специфическим свойством (например Name = "Alice"
)Объединение здесь кажется излишние
Это можно легко сделать с помощью присоединения:
SELECT TableB.*
FROM TableA INNER JOIN TableB on TableA.id = TableB.A_id
WHERE TableA.Name = "Alice"
Бытии используемый для процедурного программирования, объединение кажется излишним и ненужным, поскольку нам фактически не нужна информация от TableA
, кроме id
из Alice
.
Так что - если предположить, что Alice
уникален - есть способ сделать это (псевдокод):
variable alice_id = get id of Alice from TableA
SELECT *
FROM TableB
WHERE A_id = alice_id
Если да, то она должна быть использована в пользу классического метода JOIN? Это быстрее? (В принципе, конечно)
Связанный: http://stackoverflow.com/questions/5274618/inner-join-and-where-in-clause-performance –