资源描述:
《Orcale职业培训笔记.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、Day011.s_emp、s_dept表的字段含义first_name名last_name姓title职位dept_id部门号commission_pct提成(有空值)2.列出所有人的年薪selectfirst_name,salary*12froms_emp;3.给列起别名selectfirst_name,salary*12Ann_Salfroms_emp;selectfirst_name,salary*12"AnnSal"froms_emp;selectfirst_name,salary*12as"AnnS
2、al"froms_emp;4.处理空值的函数nvl(p1,p2)nullOracle当做无穷大来处理空值不等于0空值不等于空格算数表达式中为空值,返回空值selectfirst_name,salary*12*(1+nvl(commission_pct,0)/100)froms_emp;5.SQLPLUS命令:a)L列出上一次敲入的命令b)clearscr或者!clear清屏6.字段(列名)拼接
3、
4、字符串拼接''Oracle中字符和字符串用单引号表示""双引号用于表示别名selectfirst_name
5、
6、''
7、
8、
9、last_nameemployeefroms_emp;selectfirst_name
10、
11、'isintdepartment'
12、
13、dept_id
14、
15、'.'froms_emp;1.去除重复值distinct##该公司有哪些职位?selectdistincttitlefroms_emp;##各个部门有哪些不同的职位?##distinct的功能:部门号单独重复,职位单独重复,部门号和职位联合不重复selectdistinctdept_id,titlefroms_emp;##会报错,因为distinct只能出现在s
16、elect后面,否则会造成逻辑不通selectdept_id,distincttitlefroms_emp;(X)2.列出表中所有字段##注意:写*会降低效率,公司中一般会禁止写*;select*froms_emp;3.Oracle中写SQL大小写区别在功能上无影响,性能上有影响##注意:写SQL,一般公司都有规范4.where控制子句##年薪大于1.2w的员工的年薪?##如果salary字段上建了索引,第一种写法,索引用不上,所以慢selectfirst_name,salary*12a_salfroms_e
17、mpwheresalary*12>12000;##如果salary字段上建了索引,第二种写法,效率高些selectfirst_name,salary*12a_salfroms_empwheresalary>1000;##会报错,where子句后面不可以跟“列别名”,where子句执行在select语句之前selectfirst_name,salary*12a_salfroms_empwherea_sal>12000;##EX.不会报错,orderby子句可以使用“别名”selectfirst_name,sal
18、ary*12a_salfroms_emporderbya_sal;5.注意:单引号中大小写敏感##列出Carmen的年薪是多少?Selectfirst_name,salary*12a_salFroms_empWherefirst_name='Carmen';1.大小写转换函数lower()upper()##列出Carmen的年薪是多少?selectfirst_name,salary*12a_salfroms_empwherelower(first_name)='carmen';2.wheresalarybet
19、ween1000and1500;AND和betweenand连接符##找出员工工资在1000与1500之间selectfirst_name,salaryfroms_empwheresalary>=1000andsalary<=1500;##betweenand就表示了如上含义selectfirst_name,salaryfroms_emp3.OR连接符IN()表述形式=ANY()##找出31、41、43部门员工的姓名和部门号?selectfirst_name,dept_idfroms_empwheredept
20、_id=31ordept_id=41ordept_id=43;##简单的表述形式in()selectfirst_name,dept_idfroms_empwheredept_idin(31,41,43);##另一种表述形式in()相当于=any()selectfirst_name,dept_idfroms_empwheredept_id=any(31,41,43);##从连续区间中取值使用Betwe