sql面试题及答案总结
這些都是筆試的時(shí)候遇到的,其實(shí)面試公司也是在網(wǎng)上找的題目,在網(wǎng)上都搜索得到的,我把總結(jié)遇到的總結(jié)一下。
1.求每門成績(jī)都大于80的學(xué)生名字。
name kecheng fenshu?
張三 語(yǔ)文 81?張三 數(shù)學(xué) 75?
李四 語(yǔ)文 76?
李四 數(shù)學(xué) 90?
王五 語(yǔ)文 81?
王五 數(shù)學(xué) 100?
王五 英語(yǔ) 90
答案:select distinct name from tb_user where name not in (select name from tb_user where fenshu < 80);
2.刪除除了自動(dòng)編號(hào)不同,其他都相同的學(xué)生冗余信息
id 姓名 課程名稱?分?jǐn)?shù)
1 張三 數(shù)學(xué)?69
2 李四 數(shù)學(xué)?89
3 張三 數(shù)學(xué)?69
答案:
create table tb_temp as select min(id) id from tb_course group by kecheng,name,fenshu;
delete from tb_course where id not in (select id from tb_temp );
注意:我使用的mysql數(shù)據(jù)庫(kù),直接寫
delete from tb_course where id not in (select min(id) id from tb_course group by kecheng,name,fenshu); ?報(bào)錯(cuò)了!!!
3.已存在一張如下的表:
年 ?季度 ?銷售額
2016 ?1 ?2000
2016 ?2 ?2500
2016 ?3 ?3000
2016 ?4 ?2000
2017 ?1 ?3000
2017 ?2 ?4000
2017 ?3 ?5000
2017 ?4 ?6000
寫一個(gè)sql語(yǔ)句查詢出如下所示的效果:
年 ?第一季度 ?第二季度 ? 第三季度 ? 第四季度?
2016 ?2000 ? 2500 ? 3000 ?2000
2017 ?3000 ? 4000 ? 5000 ?6000
答案:
select year,?
sum(case when quarter='1' then sales else 0 end)'第一季度',
sum(case when quarter='2' then sales else 0 end)'第二季度',
sum(case when quarter='3' then sales else 0 end)'第三季度',
sum(case when quarter='4' then sales else 0 end)'第四季度'
?from tb_sale group by year;
4.
已存在一張如下的表:
季度 ?銷售額
1 ?2000
2 ?2500
3 ?3000
4 ?2000
寫一個(gè)sql語(yǔ)句使查詢結(jié)果如下(銷售額累加):
季度 ?銷售額
1 ?2000
2 ?4500
3 ?7500
4 ?9500
總結(jié)
以上是生活随笔為你收集整理的sql面试题及答案总结的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: mysql面试必会6题经典_经典sql面
- 下一篇: 常见Sql面试题及答案