SQL常见的操作

···sql

排名平列排序

例如:
select name,score,rank() over(order by score) 条件 from 表名;
如果有并列的话 . 他们后边的排序会变成这样的。
1
2
2
4

SQL中判断怎么判断字符为null

在SQL中判断为空 用 is 判断
判断不为空用 is not 判断

SQL数据库新手需要注意的题目:

–(1) 查询大陆和香港男歌手演唱的类型为“热门流行”的歌曲信息

select *from Singer a,Song b ,Types c where a.Area=’大陆’ and a.SingrtType=’男歌手’
and a.SingerID=b.SingerID and b.TypeID=c.TypeID and c.TypeName=’热门歌曲’

–(2) 查询香港和台湾女歌手中年龄最小和最大的歌手的出生年月

select MIN(datediff(year, Birthday,getdate()))as 最小年龄 , MAX(DATEDIFF(year,Birthday,GETDATE())) as 最大年龄 from Singer
where Area=’香港’or Area=’台湾’ group by Area

如果操作中遇到通过出生日期查找年龄可以用 datediff()函数 getdate()获得当前时间

–(3) 根据歌手地区和歌手类型分组,显示歌手人数大于1的分组信息,要求显示歌手地区、歌手类型和歌手人数

select Area 地区 ,SingrtType 歌手类型 ,COUNT() 人数 from Singer group by Area ,SingrtType having COUNT()>1

–(4) 根据歌曲类型和歌手,统计歌曲数

select b.TypeName ,count (*)个数 from Song a, Types b ,Singer c where a.TypeID=b.TypeID and
a.SingerID =c.SingerID group by b.TypeName ,c.SingerName

–(5) 根据歌曲类型和歌手,统计歌曲数大于1的分组信息

select b.TypeName ,count (*)个数 from Song a, Types b ,Singer c where a.TypeID=b.TypeID and
a.SingerID =c.SingerID group by b.TypeName ,c.SingerName having COUNT(*)>1

–(6) 根据歌曲类型和歌手,统计歌曲大于1的分组信息,但影视金曲类型歌曲不参与统计

select b.TypeName ,count (*)个数 from Song a, Types b ,Singer c where a.TypeID=b.TypeID and
a.SingerID =c.SingerID and b.TypeName !=’影视金曲’group by b.TypeName ,c.SingerName having COUNT(*)>1

–7.查询emp表中出每个部门的部门代码、薪水之和、平均薪水。

select deptno as 部门代码,sum(sal+ISNULL(tcmoney,0))as 薪水之和,COUNT(*) as 部门人数,avg(sal+ISNULL(tcmoney,0)) as 平均值 from Emp group by deptno

–8.列出所有“CLERK”(办事员)的姓名及其部门名称。

select dname,ename from Dept a,Emp b where a.deptno=b.deptno and job =’CLERK’

–9.列出在部门“SALES”(销售部)工作的员工的姓名,假定不知道销售部的部门编号。

select ename from Emp where deptno=(select deptno from Dept where dname=’SALES’)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值