mysql - 查询多个表?

标签 mysql sql

我不熟悉查询和学习它。我有两个表,Emp 和 EmpDetail。我使用查询来选择 Emp,例如

Select Id,Name,Date where Date >= trunc(sysdate)-10

而且 EmpDetails 有更多的字段,但我只需要选择几个 filelds,比如

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

所以使用Inner Join

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

我这样做对吗

最佳答案

您可以使用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

关于mysql - 查询多个表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29100580/

相关文章:

mysql - 如何移动 MySQL 表中的列?

mysql - 从 2 个不同的表收集数据,条件如下

mysql - 如何检查一致性约束,该约束显示用户不属于他们应该属于的属性?

php - 为提供的纬度、经度查找最近的司机的程序

mysql - Protractor : Function to run at the end of all tests

php - 将 Apache 连接到远程 MySQL

php - 循环/插入图像

sql - 当有两个可能的表保存详细信息时,选择数据的最佳方法是什么?

sql - 如何使用 PostgreSQL 计算分层定价

php - 按 Log_time 排序但按组部分排序?