SQL - 在Select中选择

时间:2010-02-13 04:40:40

标签: sql

我使用SQL的技巧很简单,所以我不知道该怎么做..这就是它。

让我们考虑一下。

Table A
ID              Name              LastNameID
1               Jonh              23
2               Helen             19

Table B
ID              LastName
23              Bauer
19              Summers

SELECT ID Name LastNameID FROM TableA

如何在表格中添加另一个Select,它将根据表A中的LastNameID从表B返回LastName。

在这种情况下,我通常使用一个简单的函数和编程语言,我用它来为每个返回的行做。

但我觉得是时候单独使用SQL了。

感谢任何帮助。

3 个答案:

答案 0 :(得分:5)

您只需使用LastNameId字段加入表:

SELECT TableA.[Name] AS FirstName, TableB.LastName
FROM TableA 
  INNER JOIN TableB ON TableA.LastNameId = TableB.LastNameId

答案 1 :(得分:0)

您正在询问“如何选择内部选择”。通常,此类查询以连接的形式编写,而不是以子选择的形式编写。进行连接比为少量表进行子选择更好。

您的应用程序的查询将是

SELECT firstNames.Name, lastNames.LastName FROM TableA firstNames, TableB lastNames
WHERE firstNames.LastNameId = lastNames.LastNameId;

这与在显式连接表单中编写查询相同,如Chris在他的回答中所示。

答案 2 :(得分:0)

这里有一些很好的答案,但是如果你真的在一个表中有第一个名字,而另一个表中的姓在一个ID上链接 - 我认为现在是时候回顾基础了。首先查看Northwind数据库,然后查看一些数据库入门工具包here.