Sql Query涉及多个表

时间:2012-08-28 15:48:03

标签: sql sql-server sql-server-2008

我有两张桌子..

人员:

  empid(primary key)
  firstname
  lastname
  email

详细信息:

  Did(primary key)
  salary
  designation
  empid

现在我需要SELECT名字为Manager的员工的名字和姓氏。

我是初学者,我一直在学习W3school的SQL(这真是太棒了btw),如果你可以建议我在完成w3school之后应该去哪里,这将是非常棒的!

4 个答案:

答案 0 :(得分:1)

就像你说的那样,在列上简单连接两个表(在这种情况下是EmpID):

SELECT firstname,
       lastname
FROM   Persons
       INNER JOIN Details
         ON Persons.EmpID = Details.EmpID
WHERE  designation = 'Manager' 

至于最好的知识来源,如果你问我,你不能打败书籍,MSDN和StackOverFlow。还有一些很好的博客 - 但他们倾向于更高级的主题。无论如何,作家往往会在SO附近徘徊!

答案 1 :(得分:0)

您正在寻找的查询:

select t1.firstname, t1.lastname
from person t1 inner join
details t2 on t1.empid = t2.empid
where t2.designation = 'Manager'

至于在互联网上学习Sql,我真的不知道教学的好地方,但是因为你使用的是sql server 2008,我建议你经常咨询MSDN。如果你有动力,你可以在那里找到非常深刻的信息。

答案 2 :(得分:0)

我不清楚具体是否适用于SQL Server 2008,但这应该是标准的SQL:

SELECT firstname, lastname
FROM Persons
INNER JOIN Details ON Persons.empid = Details.empid
WHERE Details.designation = 'Manager'

答案 3 :(得分:0)

Select p.fname, p.lname
from persons p, details d
where d.designation="Manager" and p.empid=d.empid

使用单个字符的内容p.d.,只是做速记和保存输入的方法。

至于SQL源代码,我是tizag的忠实粉丝。通常是PHP,SQL和其他任何东西的主要goto之一。首先是W3,第二个是Stack Overflow,第三个是tizag。我总能找到答案。