您的位置:首页 > 数据库 > Oracle

oracle paper1

2010-03-27 10:24 162 查看
文字字符串'',使用连字运算符||,使用列别名"" as
select distinct id from employee避免重复
用选择限制行,where子句
比较条件,“=”,"<",">",>=","<="
其他比较条件,between and,in(100,200,300) ,like s%,%s,_(单个字符)s%,is null
逻辑条件,and ,or,not
order by a asc ,desc
大小写处理函数与字符处理函数
lower,upper,concat,substr,length,instr,trim,replace
lpad(salary,10,'*')=******7899
rpad()=7899******
数字函数
round(45.6454)=45.645
截断指定小数的值trunc(45.6545,2)=45.65
返回除法的余数mod(1600,300)=100
sysdate=‘26-jul-2009’
四舍五入round(sysdate,'month')=1-agu-2009 trunc(sysdate,'date')=1-jul-2009截断
nvl(exp,exp1)转换空值到一个实际的值
多表连接
自连接: select worker.lastname||'works for'||manager.lastname from employee worker ,employee manager where worker.managerid=manager.employeeid
naturaljoin 自然连接
自然连接也可以被写为等值连接:
SELECT department_id, department_name,
departments.location_id, city
FROM departments, locations
WHERE departments.location_id = locations.location_id;
如果一些列有相同的名字,但数据类型不匹配,NATURAL JOIN子句能够用USING 子句修改以指定将被用于一个等值连接的列?当有多个列匹配时,用USING 子句匹配唯一的列avg,count,max,min,stddev,标准差sum,variance方差
组函数group by实现分组
AVG 平均值?COUNT 计数?MAX 最大值?MIN 最小值?STDDEV 标准差?SUM 合计?VARIANCE 方差
SELECTcolumn, group_function(column)FROMtable[WHEREcondition][GROUP BYgroup_by_expression][ORDER BYcolumn]
SELECT department_id, MAX(salary)FROM employeesGROUP BY department_idHAVING MAX(salary)>10000 ;
select id,max(salary) from employee group by id having max(salary)>1000
查询工作岗位的人数
SELECT job_id, COUNT(*)
FROM employees
GROUP BY job_id;
四舍五入输出 最高,最低,和,平均的工资
select ROUND(MIN(salary),0),max() as maxi,min() as min,sum(salary),average(salary) from employee
显示经理号和经理付给雇员的最低薪水。排除那些经理未知的人。排除最低薪水小于等于 $6,000 的组。按薪水降序排序输出。
select managerid min(salary) from employee where managerid is not null group by managerdi having min(salary)>6000 order by min(salary) desc
写一个查询显示每个部门的名字、地点、人数和部门中所有雇员的平均薪水。四舍五入薪水到两位小数。
select depname,locatino,count(*) round(avg(salary),2) from department group by depname
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: