资源描述:
《SQL语言的分类》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、窗体底端SQL语言的四大组成部分DQLDMLDDLDCLSQL语言共分为四大类:DQL(数据查询语言),DML(数据操纵语言),DDL(数据定义语言),DCL(数据控制语言)。1数据查询语言(DQL)v查询语句的一般结构v单表查询v多表查询v嵌套查询v分组查询v集合查询查询语句的一般结构ØSELECT[ALL
2、DISTINCT]<目标列表达式>[,<目标列表达式>]···ØFROM<表名或视图名>[,<表名或视图名>]···Ø[WHERE<条件表达式>]Ø[GROUPBY<列名1>[HAVING<条件表达式>]]Ø[ORDERBY<列名2>[ASC
3、D
4、ESC]];单表查询:无条件、有条件、排序无条件:SELECT中的<目标表达式>可以是表中的列,也可以是表达式,包括算术表达式、字符串常数、函数等。(字符串用单引号定界)1.使用算术表达式(+、-、*、/)Selectempno,sal*0.8fromemp;2.使用字符常量Selectempno,’Nameis:’,enamefromemp;3.使用函数Selectempno,UPPER(ename)fromemp;4.改变列标题Selectempnoemployeename,salASsalary,job,deptfromemp;5.使用连接字符串
5、Selectename
6、
7、‘:’
8、
9、‘1’
10、
11、‘monthsalary=’
12、
13、salasmonthyfromemp6.消除重复行ØSQL>select[ALL]enamefromemp;ØSQL>selectDISTINCTenamefromemp;有条件:WHERE常用的查询条件查询条件谓词比较大小=,>,<,>=,<=,<>确定范围BETWEENAND,NOTBETWEENAND确定集合IN,NOTIN字符匹配LIKE,NOTLIKE空值ISNULL,ISNOTNULL多重条件AND,OR确定范围:>selectempno,ename,sal,de
14、ptnofromempwheredeptnobetween10and20;确定集合:>selectempno,ename,sal,deptnofromempwheredeptnoin(10,30);等于selectempno,ename,sal,deptnofromempwheredeptno=10ordeptno=30;字符匹配:[NOT]LIKE‘<匹配串>’1.<匹配串>可以是一个完整的字符串,也可以含有通配符的字符串。通配符包括‘%’、‘_’。2.%(百分号)代表任意长(长度为0)字符串。3._(下划线)代表任意单个字符。SQL>selecte
15、mpno,ename,sal,deptnofromempwhereenamelike'S%';SQL>selectenamefromempwhereenamelike'_S%';空值:涉及空值查询时使用ISNULL或ISNOTNULL,这里的IS不能用=替代多重条件:用逻辑运算符NOT、AND和OR来联结多个查询条件。优先级:NOT、AND、OR(用户可以用括号改变优先级)。IN谓词实际上是多个OR运算的缩写。SELECT的交互查询:Ø使用替代变量ØSelect*fromempwhereename=‘&name’排序:ØORDERBY从句要放在SELE
16、CT语句的最后.Ø表达式排序:SQL>selectempno,ename,sal,sal*12fromemporderbysal*12desc;Ø多列排序:SQL>selectempno,deptno,salfromemporderbydeptnoasc,saldesc;显示:按部门号升序,相同部门号内的工资降序排列。Ø别名排序:SQL>selectempno,ename,sal*12annsalfromemporderbyannsaldesc;多表查询Ø连接条件写在WHERE从句中.Ø同一列名出现在多个表中时,列名前要加上表名来区分.连接类型:Ø交叉
17、连接:笛卡尔积。Ø内连接:使用比较运算符进行表间某列或某些列数据的比较操作,并列出这些表中与连接条件相匹配的数据行。内连接分为等值连接、非等值连接和自身连接。[例]:查询所有工资大于2000的雇员的姓名和他的经理的名字。(自身连接例子)SQL>selectfirst.ename,second.ename,first.salfromempfirst,empsecondwherefirst.sal>2000andfirst.deptno=second.deptnoandsecond.job='MANAGER';结果ØENAMEENAMESALØ------
18、------------------------------------ØCLARKCLARK