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
如果是的话,是否应该有利于传统连接方法的使用呢?速度更快吗? (原则上,当然)
相关:http://stackoverflow.com/questions/5274618/inner-join-and-where-in-clause-performance –