如何在WHERE子句中使用主键连接表?

时间:2017-09-08 03:43:27

标签: sql

有两个表,emp和dept。这两个表都是deptno作为主键。我想用ename显示10到20之间deptno的详细信息。

例如:loc位于dept表中:带有sal列:

select ename,sal,loc,deptno from emp,dept
where sal between 1000 and 2000 and emp.deptno=dept.deptno; 

在这个查询中,我想用deptno替换sal但是给出了错误。

1 个答案:

答案 0 :(得分:1)

假设

  • 表1是部门
  • 表2是emp
  • dept表的主键为deptno,其他列为
  • emp表包含ename列和deptno列,其中deptnodeptno表的dept列的外键

这是一个SQL查询,用于选择deptnoename的记录,其中deptno介于10到20之间:

SELECT 
    dept.deptno, emp.ename 
FROM 
    dept 
JOIN 
    emp ON dept.deptno = emp.deptno 
WHERE 
    dept.deptno BETWEEN 10 and 20;