- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SQL执行顺序
oracle查询语句中select from where group by having order by的解释与应用?查询中用到的关键词主要包含六个,并且他们的顺序依次为select--from--where--group by--having--order by其中select和from是必须的,其他关键词是可选的,这六个关键词的执行顺序与sql语句的书写顺序并不是一样的,而是按照下面的顺序来执行from--where--group by--having--select--order by,from:需要从哪个数据表检索数据where:过滤表中数据的条件group by:如何将上面过滤出的数据分组having:对上面已经分组的数据进行过滤的条件select:查看结果集中的哪个列,或列的计算结果order by :按照什么样的顺序来查看返回的数据?select关键字1、用*代替所有列select * from emp;2、指定需要返回的列select ename,deptno ,job from emp;3、为列取别名select ename emloyee_name,job ,deptno from emp;4、去除某列中的相同数据select distinct deptno ,job from emp;5、返回两个列进行运算后的数据create table tab1(first_col number(3),second_col number(3));insert into tab1 values(3,6);insert into tab1 values(1,10);select first_col,second_col,first_col+second_col from tab1;返回结果如下?FIRST_COL SECOND_COL FIRST_COL+SECOND_COL---------- ---------- --------------------?3 ? ? ? 6 ? ? ? ? ? 9?1 ? ? ? 10 ? ? ? ? ? 11?6、对单列进行运算后返回?select first_col,second_col,first_col*10 from tab1;结果如下?FIRST_COL SECOND_COL FIRST_COL*10---------- ---------- ------------? ? ? ? ?3 ? ? ? ? ?6 ? ? ? ? ? 30? ? ? ? ?1 ? ? ? ? 10 ? ? ? ? ? 10?7、select 1+2 ?from dept;返回结果如下?? ? ? 1+2---------? ? ? ? 3? ? ? ? 3? ? ? ? 3? ? ? ? 3这样的查询似乎看起来没有什么意义,出现四行是因为有四个部门,对每个部门都要执行一次1+2并且返回。假设建立一个表只有一条数据那么将只会返回一条数据,在oracle内部就存在这样一个表dual,以前我们经常会看到这样的语句select sysdate from dual;SYSDATE--------------05-8月 -12即返回系统日期假如执行这样的语句,利用上面建立的表tab1select sysdate from tab1;看看结果会是什么SYSDATE-----------05-8月 -1205-8月 -12返回了两个日期,因为表tab1中有两条数据,这也可以说明返回的数据只是一个常量,并不是从dual表中取得的,只是利用了dual表中有一条数据的特点,这个表完全可以自己建立,也会取得和dual一样的效果?where关键字一个简单的查询条件一般包含一个比较运算符( ?= ? ?+ ? = ? )由比较运算符组成的语句能够判断为true和false,当为true时,则说明该行符合条件,作为用户检索的数据返回给用户,例如select * from emp where sal4000;?order by关键字如果想要检索返回的数据按照一定的顺序排列,就需要使用order by关键词,select * from emp order by ename desc nulls last;select * from emp order by ename asc nulls first;其中asc是指按照指定的列按照升序排列,desc按降序排列,nulls first指将为空的行显示在最前面,nulls last是指将为空的数据所在行显示在最后,对于升序排列nulls last为默认,如果按照降序排列nulls first 为默认例如select ?* from emp order ?by comm ;等价于se
您可能关注的文档
- 四个开源商业智能平台比较.doc
- ttisql控制台命令大全.doc
- 第5章螺纹联接和螺旋机构.ppt
- WAP2.0介绍.doc
- Oracle并行处理.docx
- 谈谈VFP和SQLSERVER搭配做CS系统.doc
- 外研版英语九年级上M7——M8知识点复习.doc
- 第七章-链接分析.ppt
- 常用 select 语句汇总.doc
- Select方法大集合.doc
- 四川省达州市圣灯中学2021-2022学年高二历史月考试卷含解析.docx
- 上海教育发展研究院附属中学2022年高三语文联考试卷含解析.docx
- 福建省福州市长乐市第二中学高三语文期末试卷含解析.docx
- 钢筋加工检验批质量验收记录表003修复的修复的.docx
- 云南省曲靖市乐业中学高一语文上学期期末试卷含解析.docx
- 湖南省郴州市武源中学高一语文上学期期末试卷含解析.docx
- 陕西省咸阳市武功县逸夫中学高二语文期末试题含解析.docx
- 四川省成都市四川师大附中外国语学校高二生物上学期期末试题含解析.docx
- 2021-2022学年山西省太原市南海中学高二语文联考试卷含解析.docx
- 2020-2021学年广东省江门市台山师范高级中学高一英语测试题含解析.docx
文档评论(0)