分组查询:
distinct :去重 distinct 约束要查询的对象 示例: select distinct ename from emp;
order by ......asc : 按照升序排列(包含字符的排列) 示例: select * from emp order by empnoasc;
order by .....desc: 按照降序排列 (包含字符的排列) 示例: select * from emp order by empnodesc;
group by ...... : 按.....分组示例 :select empno, ename from emp group by empno,ename;
注:前面查询什么后面就必须按照其分组 后面可以多于前面
group by 前面可加 where条件
having 可作为groupby 的附加条件
示例:select pub, sum(price*qty ) from books group by pub having sum(price)>60;
where 子句后面不可跟着聚集函数 (sum,count...)
模糊查询:
like 为通配符 (此类查询必须区分大小写)
%a :查询以a为结尾的字符 示例: select * from emp where ename like '%a' ;
_a%: 查询第二个字母为a的字符串, __a :查询第3个字母为a的字符串
a% : 查询以a为首字母的字符串, %a%:查询中间包含字母a的字符串
连接查询:
内连接 : 例如连接两个表emp 和dept
示例为:(标准写法) select ename, job, sal, dname from emp join dept on emp.deptno=dept.deptno;
(简化写法) select enamel, job, sal , dname from emp,dept where emp.deptno=dept.deptno;
外连接: 左外连接 :以左面的表为主,右面的表不能匹配的内容用空值代替
示例: select enamel, job, sal , dname from emp,dept where emp.deptno=dept.deptno(+);
右外连接 :以右面的表为主,左面的表不能匹配的内容用空值代替
示例: select enamel, job, sal , dname from emp,dept where emp.deptno(+)=dept.deptno;