查询多个表?

时间:2015-03-17 13:39:56

标签: mysql sql

我不熟悉查询和学习它。我有两张桌子,Emp和EmpDetail。我使用查询来选择像

这样的Emp
Select Id,Name,Date where Date >= trunc(sysdate)-10

EmpDetails有更多字段,但我只需要选择几个像

这样的文件库
Select act,rol,comp,rescd from EmpDetail

现在从表中选择记录就像有一些条件

Select em.Id
     , em.Name
     , em.Date
     , ed.act
     , ed.rol
     , ed.comp
     , ed.rescd 
  from Emp em
     , EmpDetail ed 
 where em.Id = ed.rescd 
   and ed.rol = 'req' 
   and em.date != Null

所以使用内部联接

Select Emp.Id,Emp.Name,Emp.Date,EmpDetail.act,EmpDetail.rol,EmpDetail.comp,EmpDetail.rescd from Emp INNER JOIN EmpDetail where Emp.Id=EmpDetail.rescd and EmpDetail.rol='req' and Emp.date!=Null

我做得对吗

1 个答案:

答案 0 :(得分:1)

您可以使用JOIN

SELECT e.Id, e.Name, e.Date, ed.act, ed.rol, ed.comp, ed.rescd
FROM Emp AS e 
INNER JOIN EmpDetails AS ed 
ON e.Id LIKE CONCAT(%, ed.rescd)
WHERE e.Date >= trunc(sysdate)-10