SQL常见的操作
···sql
排名平列排序
例如:
select name,score,rank() over(order by score) 條件 from 表名;
如果有并列的話 . 他們后邊的排序會變成這樣的。
1
2
2
4
SQL中判斷怎么判斷字符為null
在SQL中判斷為空 用 is 判斷
判斷不為空用 is not 判斷
SQL數(shù)據(jù)庫新手需要注意的題目:
–(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()函數(shù) getdate()獲得當(dāng)前時(shí)間
–(3) 根據(jù)歌手地區(qū)和歌手類型分組,顯示歌手人數(shù)大于1的分組信息,要求顯示歌手地區(qū)、歌手類型和歌手人數(shù)
select Area 地區(qū) ,SingrtType 歌手類型 ,COUNT() 人數(shù) from Singer group by Area ,SingrtType having COUNT()>1
–(4) 根據(jù)歌曲類型和歌手,統(tǒng)計(jì)歌曲數(shù)
select b.TypeName ,count (*)個(gè)數(shù) from Song a, Types b ,Singer c where a.TypeID=b.TypeID and
a.SingerID =c.SingerID group by b.TypeName ,c.SingerName
–(5) 根據(jù)歌曲類型和歌手,統(tǒng)計(jì)歌曲數(shù)大于1的分組信息
select b.TypeName ,count (*)個(gè)數(shù) 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) 根據(jù)歌曲類型和歌手,統(tǒng)計(jì)歌曲大于1的分組信息,但影視金曲類型歌曲不參與統(tǒng)計(jì)
select b.TypeName ,count (*)個(gè)數(shù) 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表中出每個(gè)部門的部門代碼、薪水之和、平均薪水。
select deptno as 部門代碼,sum(sal+ISNULL(tcmoney,0))as 薪水之和,COUNT(*) as 部門人數(shù),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’)
總結(jié)
- 上一篇: altium designer画螺丝孔也
- 下一篇: 精益生产改善方法有哪些?详解:精益生产之