- 1、本文档共57页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SQL 第四课
复 习 处理上机作业 连接数据库前所做的必要修改 启动OEM 连接数据库 启动SQL*PLUS 创建数据库 常用的数据类型 在图形界面下创建表 使用SQL语句创建表 修改表结构(添加、修改、删除列、更改表名) 删除表 第二章 数据查询 SELECT 查询语句 SELECT select_list FROM table_list SELECT语句的各子句的执行顺序 基 本 查 询 一 查询所有列 例2:查询EMP表中的雇员号、雇员名、工资和岗位 二 查询特定列 三 消除重复行 练习: 六、算术运算符(+、-、*、/) 七、连接符(||) 七、连接符(||) 限 制 查 询 ——where子句 1、比较搜索条件 例1:查询工资高于2000的雇员名、岗位和工资 SELECT ENAME,JOB,SAL FROM EMP WHERE SAL2000 2、范围搜索条件(BETWEEN/NOT BETWEEN) SELECT ENAME,JOB,SAL,DEPTNO FROM EMP WHERE SAL BETWEEN 2000 AND 3000 3、列表搜索条件(IN/NOT IN) SELECT ENAME,JOB,SAL FROM EMP WHERE JOB IN (‘CLERK’,‘MANAGER’) 4、IS NULL操作符 IS NULL操作符用于检测列或表达式的结果是否为NULL。 WHERE column_name IS [NOT] NULL 练习: 5、逻辑运算符(AND、OR、NOT) 练习: 6、模糊查询(LIKE/NOT LIKE) 练习: 将通配符指定为普通字符的方法 使用ESCAPE关键字定义转义符,紧跟在转义符之后的字符看作是普通字符。 排序 —— ORDER BY 子句 ORDER BY 子句—排序查询结果 例:从EMP表中查询雇员名、工资,并按照工资降序排序结果 练习: 分组、进一步筛选 ——GROUP BY 、 HAVING子句 常用聚合函数 COUNT(*) 计算表中行的总数,即使表中行的数据为NULL GROUP BY 、HAVING、聚合函数的用法如下: SELECT col1,col2,…,聚合函数(column) FROM table [WHERE search_condition] GROUP BY col1,col2,.. HAVING group_condition 练习1: 查询每个部门的平均工资 练习2: 查询每个部门每种岗位的平均工资和最高工资 练习3: 查询平均工资低于2500的部门号、平均工资及最高工资 数据分组的注意事项 思考:如何得到如下结果? 思考:如何得到如下结果? 练习: 实例:查询工资在2000至3000之间的雇员名、岗位、工资和部门号 实例:查询岗位为岗位为CLERK和MANAGER的雇员名、岗位、工资 例:从EMP表中查找补助不是NULL的雇员名。 SELECT ENAME FROM EMP WHERE COMM IS NOT NULL 某用户希望显示补助非空的所有雇员信息,应该使用哪条语句? SELECT ename,sal ,comm FROM emp WHERE commnull SELECT ename,sal ,comm FROM emp WHERE comm is not null SELECT ename,sal ,comm FROM emp WHERE comm0 当一个语句中使用了多个逻辑运算符时,计算顺序依次为:NOT , AND ,OR。算术运算符优先于逻辑运算符处理。 例:查询部门号为20,岗位为CLERK的雇员名、工资、岗位及部门号。 SELECT ENAME,SAL,JOB,DEPTNO FROM EMP WHERE DEPTNO=20 AND JOB=‘CLERK’ 查询岗位为CLERK和MANAGER且工资高于1000并低于3000的雇员名、工资、岗位。 SELECT ENAME,SAL,JOB FROM EMP WHERE (JOB=‘CLERK’ OR JOB=‘MANAGER’) AND
文档评论(0)