您好,欢迎访问三七文档
Oracle数据库管理系统第四讲简单查询第四讲简单查询课程目标在查询中对结果进行排序在查询中过滤行在查询语句中使用函数123第四讲简单查询一、在查询中过滤行查看表结构查询所有列查询指定列不显示重复行?查询SMITH的薪水、工作、所在部门号第四讲简单查询一、在查询中过滤行?如何显示工资高于3000的员工?如何查找1982年以后入职的员工?如何显示工资在2000到2500之间的员工注:字符和日期要包含在单引号中,字符大小写敏感第四讲简单查询一、在查询中过滤行使用WHERE子句,将不满足条件的行过滤掉SELECT*|{[DISTINCT]column|expression[alias],...}FROMtable[WHEREcondition(s)];第四讲简单查询一、在查询中过滤行使用算术表达式?如何显示每个雇员的年薪使用列的别名如何处理null如何连接字符串第四讲简单查询一、在查询中过滤行比较操作符=、、、=、=、!=、SQL操作符between…and…notbetween…and…innotinlikenotlikeisnullisnotnul逻辑运算符andornot第四讲简单查询一、在查询中过滤行IN(set)与集合set中的值进行匹配?如何显示部门号为10或20的员工信息第四讲简单查询一、在查询中过滤行LIKE匹配字符模式%代表任意多个字符,_代表一个字符?如何显示首字母是S的员工姓名、工资?如何显示第三个字符为大写O的员工姓名和工资第四讲简单查询一、在查询中过滤行逻辑运算符?查找工资高于1000或者岗位是MANAGER,同时名字首字母为J的员工信息第四讲简单查询二、对查询结果进行排序使用ORDERBY子句排序–ASC:升序–DESC:降序注意:ORDERBY子句在SELECT语句的结尾。第四讲简单查询二、对查询结果进行排序?按工资从低到高的形式显示雇员信息?按部门升序、工资降序排序–使用列的别名排序?按年薪升序排序第四讲简单查询三、单行函数第四讲简单查询三、单行函数什么是单行函数单行函数也称标量函数,对于从表中查询的每一行,该函数都返回一个值。单行函数可以出现在SELECT子句中,也可以出现在WHERE子句中。第四讲简单查询三、单行函数单行函数的分类单行函数字符数字日期转换通用第四讲简单查询三、单行函数(字符函数)大小写处理函数lowerupperinitcap字符串处理函数concatsubstrlengthinstrlpad|rpadtrimreplace第四讲简单查询三、单行函数(字符函数)函数结果concat(‘Yinhe’,’Java15’)YinheJava15substr(‘YinheJava15’,2,6)inheJalength(‘YinheJava15’)11instr(‘YinheJava’,’a’,3,1)7lpad(‘Yinhe’,10,’*’)*****Yinherpad(‘Yinhe’,10,’*’)Yinhe*****trim('Y'FROM'YinheJava')inheJavareplace('YinheJava15','J','j')Yinhejava15第四讲简单查询二、对查询结果进行排序?员工名字按小(大)写方式显示?显示名字正好为5个字符的员工姓名?显示所有员工姓名的前三个字符?以首字母小写的方式显示员工姓名第四讲简单查询三、单行函数(字符函数)trim(leading/trailing/both‘子串’FROM‘字符串或列’)----把子串从字符串或列的头/尾/两端删除,如缺省则默认为从两端删除SQLSELECTtrim(leading's'FROM'servicesservices')FROMdual;TRIM(LEADING'S'FROM'SERVICESSE------------------------------ervicesservicesSQLSELECTtrim(trailing's'FROM'servicesservices')FROMdual;TRIM(TRAILING'S'FROM'SERVICESS------------------------------servicesservice第四讲简单查询三、单行函数(字符函数)SQLSELECTtrim(both's'FROM'servicesservices')FROMdual;TRIM(BOTH'S'FROM'SERVICESSERVI------------------------------ervicesserviceSQLSELECTtrim('s'FROM'servicesservices')FROMdual;TRIM('S'FROM'SERVICESSERVICES'------------------------------ervicesservice?selecttrim(‘abc')||'de'fromdual;第四讲简单查询三、单行函数(数值函数)•ROUND:四舍五入•ROUND(45.926,2)•TRUNC:截断•TRUNC(45.926,2)•MOD:求余•MOD(1600,300)•FLOOR:向下取整•FLOOR(45.926)•CEIL:向上取整•CEIL(45.926)第四讲简单查询三、单行函数(数值函数)ROUND:四舍五入–格式:round(m,n)–ROUND函数四舍五入列、表达式或者n位小数的值。如果第二个参数是0或者缺少,值被四舍五入为整数。如果第二个参数是2,值被四舍五入为两位小数。如果第二个参数是–2,值被四舍五入到小数点左边两位。–ROUND函数可以被用于日期函数。?SELECTround(45.923,2),round(45.923,0),round(145.923,-2)FROMdual;?显示在1个月为30天的情况下,所有员工的日薪,忽略余数第四讲简单查询三、单行函数(日期函数)日期函数(SYSDATE:取系统日期函数)默认的日期格式是DD-MON-RR,更改默认的日期格式:SQLaltersessionsetnls_date_format='yyyy-mm-dd';函数描述MONTHS_BETWEEN两个日期之间的月数ADD_MONTHS加月数到日期NEXT_DAY下一个星期几是几号LAST_DAY指定月的最后一天ROUND四舍五入日期TRUNC截断日期第四讲简单查询三、单行函数(日期函数)MONTHS_BETWEEN返回两个指定日期之间的月数?显示入职300个月以上的员工信息ADD_MONTHS返回给指定的日期加上指定的月数后的日期值?显示入职300个月以上的员工信息第四讲简单查询三、单行函数(日期函数)NEXT_DAY返回指定日期以后的第一个星期几的日期?返回当前日期的下一个星期二的日期LAST_DAY返回指定日期当月的最后一天的日期值第四讲简单查询三、单行函数(日期函数)ROUND返回日期值,此日期四舍五入为格式模型指定的单位–格式:round(d,[fmt])–说明:fmt是一个可选项,日期默认舍入为最靠近的那一天。如果指定格式为年“year”,则舍入到年的开始,即1月1日;如果指定格式为月“month”,则舍入到月的第一日;如果指定格式为周“day”,则舍入到最靠近的星期日。–实例第四讲简单查询三、单行函数(日期函数)TRUNCTRUNC函数将指定日期截断为由格式模型指定的单位的日期,与ROUND不同的是它只舍不入–格式:trunc(d,[fmt])–说明:它使用与ROUND函数相同的格式模型。如果不指定fmt,日期则被截断为天。第四讲简单查询三、单行函数(日期函数)?显示入职满10年的员工信息?显示各月倒数第三天受雇的所有员工?显示员工进入公司的天数第四讲简单查询三、单行函数(日期函数)日期的数学运算•在日期上加上或减去一个数字结果仍为日期。•两个日期相减返回日期之间相差的天数。第四讲简单查询三、单行函数(转换函数)转换函数转换函数将值从一种数据类型转换为另外一种数据类型转换函数种类:TO_CHARTO_DATETO_NUMBER第四讲简单查询三、单行函数(转换函数)转换函数-TO_CHAR–语法:–TO_CHAR转化函数将日期以fmt指定的格式转换为varchar2数据类型的值。如果省略了fmt,那么日期将以默认的日期格式转换为varchar2型。–举例:selectto_char(sysdate,’yyyy-mm-dd’)fromdual;selectto_char(1210.73,'$9,999.00')fromdual;TO_CHAR(date,'fmt')TO_CHAR(number,'fmt')第四讲简单查询三、单行函数(转换函数)转换函数-日期模式YYYY/rrrr年的四位数字表示YEAR年英文拼出MM月份的两位数字表示MONTH月份的全称MON月份的三位字母表示(英文)DY星期的三位字母表示(英文)DAY星期的全称DD日期的两位数字表示第四讲简单查询三、单行函数(转换函数)转换函数-数字模式9表示一个数字0强制显示0$放置美元符号L使用当地的通货符号.打印小数点,打印千位分隔符第四讲简单查询三、单行函数(转换函数)转换函数-TO_DATE–语法:–TO_DATE转化函数将char或varchar数据类型转换为日期数据类型。格式模型fmt指定字符的形式。–举例:–selectto_date(sysdate,’yyyy-mm-dd’)fromdual;TO_NUMBER(char[,'fmt'])TO_DATE(char[,'fmt'])第四讲简单查询三、单行函数(转换函数)通用函数几种用来转换NULL值的单行函数:–NVL(expr1,expr2)–NVL2(expr1,expr2,expr3)–NULLIF(expr1,expr2)第四讲简单查询三、单行函数(转换函数)通用函数–NVL(expr1,expr2)如果expr1为null,则返回expr2。如果expr1不为null,则返回expr1。–举例:selectnvl(comm,0)fromemp;第四讲简单查询三、单行函数(转换函数)通用函数–NVL2(expr1,expr2,expr3)如果expr1为null,则返回expr3。如果expr1不为null,则返回expr2。–举例:selectnvl(comm,comm||”元”,0)fromemp;第四讲简单查询三、单行函数(转换函数)通用函数–NULLIF(expr1,expr2)如果expr1=expr2,则返回null;否则返回expr1。–举例:selectnullif(ename,’SCOTT’)fromemp;无限风光在险峰,同学们加油啊!
本文标题:oracle第四讲
链接地址:https://www.777doc.com/doc-12931 .html