sql 嵌套查询

sql 嵌套查询,第1张

例如 表数据有两列A,B ,存在重复情况,那么可以

select A,B,COUNT() FROM table t group by A,B

其中COUNT() 的结果是重复条数,为1表示不重复。

多表查询类似

嵌套查询, 就是我主查询的 不是一个表, 而是另外一个查询

例如 SQL Server 2008 当中

我需要查询 某个表的 第 11行 到第20行的数据。

也就是翻页处理, 每页10行, 现在要查询第2页。

SELECT

TOP 10

top20

FROM

(

SELECT

TOP 20

FROM

ORDER BY

排序列 ASC

) AS top20

ORDER BY

排序列 DESC

内部的子查询, 是查询 表的, 查询 20行数据。

外部的主查询, 是查询子查询的, 从子查询的20行结果中,查询其中的10行

你的查询当然会有问题:用等于号的话,后面的值必须是一个标量(所谓标量就是只能有一个值,或者没有值)。而你的查询中SNO等于之后的子查询返回的明细是有多个记录,故会出错(如果无符合条件的记录,或者只有一个记录那么也是可以执行的)。

从你的查询来看,似乎只需要DEGREE在70和90之间的SNO记录,那么直接用子查询就好了:

select SNO from score where degree between 70 and 90;

如果想要sutdent的资料,那么内连接子查询:

select s

from student s

inner join (select distinct SNO from score where degree between 70 and 90) t on sSNO = tSNO;

SELECT CCOMPANYNAME,AUSERID,ALOGINNAME,BDEPARTMENTID,APASSWORD

FROM USER A

LEFT JOIN DEPARTMENT B

ON ADEPARTMENTID = BDEPARTMENTID

LEFT JOIN COMPANY C

ON BCOMPANYID = CCOMPANYID

WHERE ALOGINNAME LIKE 'Tony%'

以上就是关于sql 嵌套查询全部的内容,包括:sql 嵌套查询、数据库中什么时候用嵌套查询、数据库里的一个嵌套查询问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9790230.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存