Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL子查询和联接_Sql - Fatal编程技术网

SQL子查询和联接

SQL子查询和联接,sql,Sql,有两张桌子 EMP(empname PK, empno, sal, comm, deptno, hiredate, job, mgr) DEPT(depnto, dname, loc) 问题是 a) 显示收入第一高的ename和dname 他们给出了一条语句,这必须只使用子查询和连接来完成 所以我开始是这样的: select A.ename, B.dname from emp A, dept B where A.deptno=B.deptno 我尝试了各种烫发和梳子,但是我没有得到join

有两张桌子

EMP(empname PK, empno, sal, comm, deptno, hiredate, job, mgr)

DEPT(depnto, dname, loc)
问题是

a) 显示收入第一高的ename和dname

他们给出了一条语句,这必须只使用子查询和连接来完成

所以我开始是这样的:

select A.ename, B.dname from emp A, dept B where A.deptno=B.deptno
我尝试了各种烫发和梳子,但是我没有得到join语句


这不是一个家庭作业问题,我只是想解决课本上的练习题。提前谢谢你,我拿到了我的最高工资记录。这将按薪资对记录进行排序,最高的在顶部(
DESC
=降序,因此最高最低)

那么我过去只返回1条记录

要获取
dname
,我需要与2个
deptno
列相关的表

SELECT TOP 1 e.empname
            ,d.dname
FROM [EMP] e
JOIN [DEPT] d ON d.deptno=e.deptno
ORDER BY e.sal DESC

我希望这有助于

获得我的最高工资记录。这将按薪资对记录进行排序,最高的在顶部(
DESC
=降序,因此最高最低)

那么我过去只返回1条记录

要获取
dname
,我需要与2个
deptno
列相关的表

SELECT TOP 1 e.empname
            ,d.dname
FROM [EMP] e
JOIN [DEPT] d ON d.deptno=e.deptno
ORDER BY e.sal DESC

我希望这有帮助

您可以尝试以下查询:

SELECT emp.ename,dept.dname FROM emp
        JOIN dept ON emp.deptno=dept.deptno
        WHERE emp.sal=(SELECT MAX(sal) FROM emp)

您可以尝试以下查询:

SELECT emp.ename,dept.dname FROM emp
        JOIN dept ON emp.deptno=dept.deptno
        WHERE emp.sal=(SELECT MAX(sal) FROM emp)

教科书练习
应该是
家庭作业的别名
:)好的,那么如果问题是找到最高工资,你能为此编写SQL吗?然后,您是否可以使用它按薪资进行查询,即您是否可以编写一个查询来查找给定薪资的名称和部门?(顺便说一句,你写的是一个老式的连接。)你使用的是一本非常旧的教科书吗?您现有的查询使用隐式连接语法,但过去二十年编写的教科书确实应该使用ANSI-92显式连接语法(除非它是为不支持该语法的RDBMS编写的)。@MarkBannister-@MartinSmith:我想随着年龄的增长,我的SQL编码能力越来越弱……;)<代码>教科书练习应该是
家庭作业的别名
:)好的,那么如果问题是找到最高工资-你能为此编写SQL吗?然后,您是否可以使用它按薪资进行查询,即您是否可以编写一个查询来查找给定薪资的名称和部门?(顺便说一句,你写的是一个老式的连接。)你使用的是一本非常旧的教科书吗?您现有的查询使用隐式连接语法,但过去二十年编写的教科书确实应该使用ANSI-92显式连接语法(除非它是为不支持该语法的RDBMS编写的)。@MarkBannister-@MartinSmith:我想随着年龄的增长,我的SQL编码能力越来越弱……;)