- 1、本文档共53页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1基本的SQL SELECT 语句
2.1 限定被选择的数据行 2.1 限定被选择的数据行(续) 2.1 限定被选择的数据行(续) 2.2 比较操作符 2.3 比较操作符练习 1、查询emp表,显示薪水大于2000,并且工作类别是MANAGER的雇员信息。 2、查询emp表,显示年年薪大于30000,工作类别不是MANAGER的雇员信息。 2.4 其它比较运算符 2.4.1 使用 BETWEEN 运算符 使用BETWEEN运算符来显示在某个范围内的数据行 2.4.2 使用 IN 运算符 使用IN运算符来测试表中是否包含列表中的一系列值。 2.4.3 使用 LIKE 运算符 2.4.3 使用 LIKE 运算符(续) 使用部分匹配查找功能 2.4.3 使用 LIKE 运算符(续) 可以使用ESCAPE标识符实现对“%”和 “_”的查找。 SELECT ename FROM emp WHERE ename LIKE ‘%A\_B%’ ESCAPE ‘\’; 2.4.4 使用空值运算符 使用 IS NULL 运算符来判定值是否为空。 2.4.5 练习 1、查询emp表,显示薪水在1500到3000之间,工作类别以’M’开头的雇员信息 2、查询emp表,显示佣金为空的并且部门号为20或30的雇员信息。 2.5 逻辑运算符 2.5.1 使用 AND 运算符 2.5.2 使用 OR 运算符 2.5.3 使用 NOT 运算符 2.5.4 运算符优先规则 使用扩号可以改变运算符的优先原则 2.5.4 运算符优先规则(续) 2.5.4 运算符优先规则(续) 2.6 ORDER BY 子句 使用 ORDER BY 子句对行排序 ASC: 升序,默认值 DESC: 降序 ORDER BY 子句出现在SELECT语句的最后 2.6 ORDER BY 子句(续) 2.6 ORDER BY 子句(续) 2.7 多列参与排序 ORDER BY 列表的顺序就是数据排列的顺序. 2.8 练习 1、查询emp表,显示佣金不为空的或者部门号为20的雇员信息, 要求按照薪水降序进行排序 2、查询emp表,显示年金大于30000,工作类别不是MANAGER,并且部门号不是10或40的雇员信息,要求按照雇员姓名进行排序。 在上例中,只有两个条件都满足的行才能被检索出。因此工作为CLERK并且月薪大于等于1100美元的雇员才被检索出来。 字符的检索是区分大小写的。如果CLERK不是大写的形式,将不会有结果被检索出来。字符串必须用引号引起来。 在例子中,只要符合两个条件中的一条的数据都被检索出。因此工作为CLERK或者月薪大于等于1100美元的雇员都被检索出来。 NOT运算符可以和其它SQL运算符一起使用,诸如 BETWEEN、 LIKE、 NULL。 ... WHERE job NOT IN (CLERK, ANALYST) ... WHERE sal NOT BETWEEN 1000 AND 1500 ... WHERE ename NOT LIKE %A% ... WHERE comm IS NOT NULL AND 运算符优先实例 上面的例子由两个条件组成 第一个条件是工作为PRESIDENT 并且月薪大于 1500美元。 第二个条件是工作为SALESMAN. 。 因此这条SELECT可以这样理解 “如果一个雇员是PRESIDENT并且月薪大于1500或者这个雇员是SALESMAN,那么他们将被检索出” 上面例子包含两个条件: 第一个条件是工作为 PRESIDENT 或 SALESMAN。 第二个条件是月薪大于1500.美元。 因此这条SELECT可以这样理解 “如果一个雇员是PRESIDENT 或者SALESMAN并且他的月薪大于1500,那么他们将被检索出” 查询结果返回的行的顺序是未定义的,ORDER BY子句可以用于行的排序。如果您使用ORDER BY子句,您必须把它放在最后,您可以指定一个参与排序的表达式或别名。 ORDER BY 子句是在查询执行过程中最后执行的。 数据默认的排序方式是升序: 数值型数据是按照从小到大的顺序进行排列的,例如, 1–999。 日期型数据是按照时间从早到晚的顺序排列的,例如, 01-JAN-92排在01-JAN-95之前 字符型数据按照字母顺序进行排列的,例如,A最前Z最后。 空值在升序排列方式下是排在最后,在降序排列方式下是排在最前。 可以在ORDER BY子句中使用列的别名,上面的例子就是按照年薪进行排列的。 多列参与排序 可以对查询按照多个列的顺序进行排列,排序的极限就是表所给出字段的数量。 在ORDER BY子句中指定多个列时,需要在列名
文档评论(0)