一、 基础查询语句:DQL query(查询的意思)
select colName1,………… from tname;
1:select子句:查询语句中必不可少的一部分
①select 后可以指定要显示的字段名;
②可以使用通配符* 来代替表中的所有字段名;
③在查询的字段名后可以写别名,中间用as即可,as也可省略;
2:from子句:查询语句中必不可少的一部分
①from 用来指定要操作的表对象
②表名也可以起别名,直接在表名后 添加别名。
3:where子句:
①用来使用限制条件进行查询的。
②查询出符合限制条件的记录。
③符号:
=,>,<,>=,<=,!=
④多个条件时使用and或者or进行连接。
⑤当条件在某一个区间内或不在某一区间内时,
可以使用:[not] between p1 and p2
⑥当条件为某些固定值时,可以使用集合。
例如: in/not in
用法:
字段名 in (值1,值2,…………);
表示符合集合中的任意一个即可。
相当于or
字段名 not in (值1,值2,…………);
表示不符合集合的任何一个。
相当于and
⑦当all/any与集合连用时:
>all(值1,值2,…………)
大于集合中最大的
<all(值1,值2,…………)
小于集合中最小的
>any(值1,值2,…………)
大于集合中最小的
<any(值1,值2,…………)
小于集合中最大的
4.模糊查询:
关键字:like
通配符: %:表示0到多个字符
_:表示一个字符
练习:第三个姓名为N
select * from emp where job LIKE '__N%';
练习:10,20部门中,名字有E,L的
select * from emp where deptno in(10,20) and (ename LIKE '%E%L%' or ename like '%L%E%');
5.排序:也是查询语句中的一个子句
①位置:一定要放在查询语句的最后
②用法:order by colName列名
③升序:asc,默认不写
④降序:desc
⑤排序时,null为最大值,理解为无穷大。
⑥若按照两个字段排序:
逻辑:先按照第一个字段排序,当值一样时,才会按照第二个字段排序
每个字段都有自己的排序规则。
reg: order by colName asc,colName
4.去重:
①概念:去掉重复的数据,显示一次(过滤掉重复的数据) ;
②关键字:distinct(col);
③用法:此关键字用在select 语句后;
5聚合函数
①概念:聚合函数,也叫多行函数,分组函数。
②max()/min():查看每一组中的最大值和最小值;
③所有的聚合函数都忽略空值;
④sum():每一组数据的和
⑤avg():求每一组数据的平均值 ,通常有nvl(,0)函数;
⑥count(): 统计每一组中的数据记录数,就是有多少行
通配符 * 可以代替任意字段。可以统计总记录数
⑦用法:判断的话,聚合函数要用having;
6.group by子句:
作用是通过字段进行分组。字段值一样的为一组。
7.having:用来判断。