一简单select语句
1 简单的select的语句形式
SELECT [DISTINCT] {*,column alias,..}
FROM table alias
Where 条件表达式
SELECT(关键字)------从数据库中取数据
{*,column alias,..}------取数据的形式,“*”指所有数据,alias指别名,“。。。”指部分字段
DISTINCT(关键字)----消除结果集中重复的信息
FROM(关键字)--------从哪些地方取数据
table(表名)---------从table这张表中取数据
2 字段的处理
(1)字段的显示:全部显示(*)、部分显示
(2)别名
(3)空值字段的处理
(4)消除重复的字段组合
(5) 操作字符、数值、日期
二where对数据设定限制条件
1 等值判断(=):主要是数值判断和字符串判断。
注:判断字符串是否相等时需要将字符串用单引号引起来。
eg:select * from emp where deptno=10;
select * from emp where ename='KING';(注意引号内的字符串是对大小写敏感的)
2 非等值判断(>,>=,<,<=,<>)
(1)字符串比较规则:首先比较第一个字符,如果第一个字符已经能够判断大小,就不继续向下比较了。反之,则继续比较下去。
(2)between a and b<=====>[a,b]
3 IN语句:筛选某些值的一个。
1
select ename,sal from emp where sal in(800,1250,1500,2000);
4 处理日期
1
2
--查询所有在81年2月20号以后入职的员工
select ename,hiredate from emp where hiredate >'20-2月-81';
5 模糊查询
使用关键字like和通配符进行模糊查询。通配符:‘%’表示0个或多个字符,‘_’表示一个字符
mp
1
2
3
4
--查询名字含有‘ALL’的人员
select ename from emp where ename like '%ALL%';
--查询名字中第二个字母含有‘A’的雇员
select ename from emp where ename like '_A%';
三oder by 排序
1
2
order by 字段 asc---按字段升序排列
order by 字段 desc--按字段降序排列
四sql函数
1 常用函数
Lower函数----字符串全部转为小写
upper函数----字符串全部转为大写
substr函数---字符串中的子串
Chr函数------与某个ASCII码数值对应的字符
Ascii函数----一个字符的ASCII码数值
round函数----对参数值四舍五入
to_char函数--将数值或日期转换为特定的字符串。
to_date函数--字符串转为日期格式
to_number函数-字符串转为数字格式
nvl函数-------处理空值(处理null)
2 组函数
avg---平均值 max---最大值 min---最小值 sum---总和 count---记录的数量
五Group by对数据分组
group by 字段---按字段分组
注:分组语句中select字段满足下述任意条件:1组函数的值 2该字段在group by子句中。
六Having过滤分组
Having是对分组后的数据进行过滤。
1
2
--将平均薪水大于1000的组的平均薪水从emp中选出来
select avg(sal) from emp group by deptno having avg(sal)>1000;
1
2
3
--要求薪水大于1200,按照部门进行分组,分组后的平均薪水大于1500
select avg(sal) from emp
where sal>1200 group by deptno having avg(sal)>1500 order by avg(sal);
七总结
1
2
3
4
5
6
7
8
9
10
11
12
Select {*,column[alias],...}
From table
[where ...]
[group by...]
[having ...]
[order by...]
子句执行顺序:
where语句过滤原始记录
group by将where后的结果进行分组
having 过滤分组结果
select 显示字段
order by排序
阅读(2002) | 评论(0) | 转发(0) |