黑马程序员 有关 sqlServer 当没有用 EXISTS 引入子查询时,错误信息
来源:互联网 发布:visio mac 中文破解版 编辑:程序博客网 时间:2024/05/02 08:19
---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ----------------------
此句中的 sal not in 是把 sal 这个字段 按 ()中的子句查找的结果 来过滤, 很明显, ()中查找的结果是包含 多个字段的结果, 而 ---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ----------------------
详细请查看:http://net.itheima.com/
今天学习 sqlServer, 然后在自己试验过程中, 出现了一个问题, 具体例子请看下面语句:
select top 3 * from emp
where sal not in (select top 5* from emp order by sal desc)
order by sal desc
where sal not in (select top 5* from emp order by sal desc)
order by sal desc
我的本意是想: 查询 emp表中,sal(工资) 最高的 第6名开始的 前3名;;
算法是: 先执行 select top 5* from emp order by sal desc 子语句, 找出 emp表中 按工资排序的前5名的人的信息,
然后用 where not in 过滤,,
接着再 select top 3 本以为没有什么问题, 然后 执行后发现报错,, 错误信息如下:
接着再 select top 3 本以为没有什么问题, 然后 执行后发现报错,, 错误信息如下:
消息 116,级别 16,状态 1,第 1 行
当没有用 EXISTS 引入子查询时,在选择列表中只能指定一个表达式。
当没有用 EXISTS 引入子查询时,在选择列表中只能指定一个表达式。
查找资料,再结合自己的理解, 发现错误的地方 如下:
select top 3 * from emp
where sal not in (select top 5 * sal from emp order by sal desc)
order by sal desc
where sal not in (select top 5 * sal from emp order by sal desc)
order by sal desc
把 * 号 改为 sal 就没有错了。
我的理解是这样的:
select top 5 * from emp order by sal desc 此子句是在 表格中查找所有的记录, 每条记录包含多个 字段,而
where sal not in (select top 5* from emp order by sal desc)
此句中的 sal not in 是把 sal 这个字段 按 ()中的子句查找的结果 来过滤, 很明显, ()中查找的结果是包含 多个字段的结果, 而
sal not in 是 1个字段的比较 所以出错 ,
结论: 仔细思考 我们的语句, 按照我们日常生活的逻辑去考虑我们语句达到的效果, 这样我们就能明白为什么 有的地方 的语法必须是这样的没, 为什么不能改, 为什么出错了, 仔细对照生活实际考虑问题, 有利于加深我们对 语法的理解, 更有利于我们清晰的快速的写出合理的语句。
详细请查看:http://net.itheima.com/
- 黑马程序员 有关 sqlServer 当没有用 EXISTS 引入子查询时,错误信息
- 当没有用 EXISTS 引入子查询时,在选择列表中只能指定一个表达式
- 当没有用 EXISTS 引入子查询时,在选择列表中只能指定一个表达式。
- sqlexception:当没有用 EXISTS 引入子查询时,在选择列表中只能指定一个表达式。
- 当没有用 EXISTS 引入子查询时,在选择列表中只能指定一个表达式。
- 当没有用 EXISTS 引入子查询时,在选择列表中只能指定一个表达式的解决办法
- 当没有用 EXISTS 引入子查询时,在选择列表中只能指定一个表达式的解决办法
- SQLServer--EXISTS与NOTEXISTS子查询
- 子查询(exists子查询)
- 【黑马程序员】SQLserver笔记之数据查询
- 理解exists子查询
- MSSQL EXISTS子查询
- MySQL 子查询-exists
- EXISTS子查询
- mysql子查询 -exists,not exists
- MySQL 子查询 EXISTS 和 NOT EXISTS
- SQL 子查询 EXISTS 和 NOT EXISTS
- mysql 之 exists子查询
- Android学习路线之Java编程基础
- 扫雷第一步,先戳哪里最高效?
- 黑马程序员 C#关于字符串的截取问题
- servlet中的web.xml的配置
- POJ 1426 Find the Mutiple
- 黑马程序员 有关 sqlServer 当没有用 EXISTS 引入子查询时,错误信息
- 线程安全
- C++,数据结构
- 链表和数组的区别在哪里?
- Oracle数据库与MySQL数据库的区别
- Java中Preference 类的使用,保存上一次记录
- SAP几大模块常用的一些BAPI
- 正则之SQL Select语句
- zhan