温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

sql的基础语句-sql的查询语句select

发布时间:2020-07-17 21:23:46 来源:网络 阅读:340 作者:forest冯宋林 栏目:关系型数据库


 SQL查询语句介绍--select语句

1.简单的select查询语句

1.1 查行

SQL> select * from emp;

1.2 查列

SQL> select empno,ename from emp;

1.3 关联查询

oracle的语法:

select  a.*,b.*  from emp a,dept b where a.deptno=b.deptno;

通用的语法:

select  a.*,b.* from emp a join dept b on(a.deptno = b.deptno );

1.4 排序

A.升序排序,asc 可以省略

select  a.*,b.* from emp a join dept b on(a.deptno = b.deptno ) order by a.empno [asc];

B.降序排序,desc

select  a.*,b.* from emp a join dept b on(a.deptno = b.deptno ) order by a.empno desc;

C.混合排序

select  a.*,b.* from emp a join dept b on(a.deptno = b.deptno ) order by b.deptno desc,a.empno asc;
在第一个字段排序的基础上,有分组,在组内,使用第二个字段进行排序

使用select列表中显示的第八个字段和第一个字段作混合排序
select  a.*,b.* from emp a join dept b on(a.deptno = b.deptno ) order by 8 desc,1 asc;

注意:
排序的字段不一定要出现在select列表中:
select a.ename,b.deptno from emp a join dept b on(a.deptno = b.deptno ) order by empno desc;

用字段或者表达式的别名来排序
select a.ename,a.mgr,a.empno,(a.sal*12) as  annsal from emp a order by annsal;

1.5 分组
 
select b.deptno,b.dname,sum(a.sal)
from emp a,dept b
where a.deptno=b.deptno
group by b.deptno,b.dname
order by b.deptno desc

group by后面的字段  = select列表中除了聚合函数以外的所有显示字段


求每个部分的总工资,人数,最高工资,最低工资,平均工资
select b.deptno,b.dname,sum(a.sal),count(a.empno),max(a.sal),min(a.sal),round(avg(a.sal))
  from emp a,dept b
 where a.deptno=b.deptno
 group by b.deptno,b.dname
 order by b.deptno desc

注意:
(1) group by 后面的字段 = select列表中除了聚合函数以外的所有显示字段
(2) order by 要出现group by的后面
(3) sum(a.sal),count(a.empno),max(a.sal),min(a.sal),round(avg(a.sal))都叫做聚合函数
(4)分组操作一定有聚合函数的参与

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI