日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

sql a 表 若包含b表 则a 表 列显示_几道常见的SQL面试题,看你能答对几道?

發布時間:2024/9/19 数据库 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 sql a 表 若包含b表 则a 表 列显示_几道常见的SQL面试题,看你能答对几道? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

分享幾道比較常見的SQL面試題,在不看底部參考答案的情況下,看自己能做對幾道。

1.用一條SQL 語句 查詢出每門課都大于80 分的學生姓名

2. 學生表 如下:

刪除除了自動編號不同, 其他都相同的學生冗余信息

3.一個叫 team 的表,里面只有一個字段name, 一共有4 條紀錄,分別是a,b,c,d, 對應四個球對,現在四個球對進行比賽,用一條sql 語句顯示所有可能的比賽組合.
你先按你自己的想法做一下,看結果有我的這個簡單嗎?

4.請用SQL 語句實現:從TestDB 數據表中查詢出所有月份的發生額都比101 科目相應月份的發生額高的科目。請注意:TestDB 中有很多科目,都有1 -12 月份的發生額。
AccID :科目代碼,Occmonth :發生額月份,DebitOccur :發生額。
數據庫名:JcyAudit ,數據集:Select * from TestDB

5.面試題:怎么把這樣一個表

查成這樣一個結果

6. 說明:復制表( 只復制結構, 源表名:a新表名:b)

7. 說明:拷貝表( 拷貝數據, 源表名:a目標表名:b)

8. 說明:顯示文章、提交人和最后回復時間

9. 說明:外連接查詢( 表名1 :a表名2 :b)

10. 說明:日程安排提前五分鐘提醒

11. 說明:兩張關聯表,刪除主表中已經在副表中沒有的信息

12.有兩個表A 和B ,均有key 和value 兩個字段,如果B 的key 在A 中也有,就把B 的value 換為A 中對應的value
這道題的SQL 語句怎么寫?

13.表tab內容:

如果要生成下列結果, 該如何寫sql語句?

14.表中有A B C三列,用SQL語句實現:當A列大于B列時選擇A列否則選擇B列,當B列大于C列時選擇B列否則選擇C列。

15.請取出tb_send表中日期(SendTime字段)為當天的所有記錄?

(SendTime字段為datetime型,包含日期與時間)

16.有一張表table,里面有3個字段:語文,數學,英語。其中有3條記錄

請用一條sql語句查詢出這三條記錄并按以下條件顯示出來(并寫出您的思路): 大于或等于80表示優秀,大于或等于60表示及格,小于60分表示不及格。 顯示格式:

17.從table1,table2中取出如table3所列格式數據,其中table1只展示了部分數據,還有4到12月份的數據未完全展示,table3也只展示了部分數據,還有4到12月份的數據列未完全展示。

table1

table2

結果如下:

table3

18.一個表中的Id有多個記錄,把所有這個id的記錄查出來,并顯示共有多少條記錄數。

19.表形式如下:

想得到如下形式的查詢結果

sql語句怎么寫?


參考答案

1、

--方法一: select distinct name from table where name not in ( select distinct name f rom table where fenshu<=80 ) --方法二: select name from table group by name having min(fenshu)>80

2、

delete tablename where 自動編號 not in( select min( 自動編號) from tablename group by 學號,姓名,課程編號,課程名稱,分數)

3、

select a.name, b.name from team a, team b where a.name < b.name

4、

select a.* from TestDB a, ( select Occmonth,max(DebitOccur) Debit101ccur from TestDB where AccID='101' group by Occmonth) b where a.Occmonth=b.Occmonth and a.DebitOccur>b.Debit101ccur

5、

select year, (select amount from aaa m where month=1 and m.year=aaa.year) as m1, (select amount from aaa m where month=2 and m.year=aaa.year) as m2, (select amount from aaa m where month=3 and m.year=aaa.year) as m3, (select amount from aaa m where month=4 and m.year=aaa.year) as m4 from aaa group by year

6、

--SQL: select * into b from a where 1<>1--ORACLE: create table b As Select * from a where 1=2

注:<>(不等于)(SQL Server Compact)

比較兩個表達式。當使用此運算符比較非空表達式時,如果左操作數不等于右操作數,則結果為 TRUE。否則,結果為 FALSE。

7、

insert into b(a, b, c) select d,e,f from a;

8、

select a.title,a.username,b.adddate from table a,( select max(adddate) adddate from table where table.title=a.title ) b

9、

--SQL Server: select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUTER JOIN b ON a.a = b.c--ORACLE: select a.a, a.b, a.c, b.c, b.d, b.f from a ,b where a.a = b.c(+)

10、

--SQL Server select * from 日程安排 where datediff('minute',開始時間,getdate())>5

11、

--SQL Server: Delete from info where not exists ( select * from infobz where info.infid=infobz.infid )

12、

update b set b.value=( select a.value from a where a.key=b.key) where b.id in( select b.id from b,a where b.key=a.key);

13

create table tmp(Tdate varchar(10),Tresulte nchar(1));insert into tmp values('2019-05-09','勝'); insert into tmp values('2019-05-09','勝'); insert into tmp values('2019-05-09','負'); insert into tmp values('2019-05-09','負'); insert into tmp values('2019-05-10','勝'); insert into tmp values('2019-05-10','負'); insert into tmp values('2019-05-10','負');--方法一 select Tdate '日期', sum(case when Tresulte ='勝' then 1 else 0 end)'勝', sum(case when Tresulte ='負' then 1 else 0 end)'負' from tmp group by Tdate ; --方法二 select N.Tdate '日期',N.勝,M.負 from ( select Tdate ,count(*) '勝' from tmp where Tresulte ='勝' group by Tdate ) N inner join ( select Tdate ,count(*) '負' from tmp where Tresulte ='負' group by Tdate ) M on N.Tdate =M.Tdate ;

14

select (case when a>b then a else b end ), (case when b>c then b esle c end) from table_name

15

select * from tb where datediff(dd,SendTime,getdate())=0

16

select (case when 語文>=80 then '優秀'when 語文>=60 then '及格'else '不及格') as 語文, (case when 數學>=80 then '優秀'when 數學>=60 then '及格'else '不及格') as 數學, (case when 英語>=80 then '優秀'when 英語>=60 then '及格'else '不及格') as 英語, from table

17

select a.dep, sum(case when b.mon=1 then b.yj else 0 end) as '一月份', sum(case when b.mon=2 then b.yj else 0 end) as '二月份', sum(case when b.mon=3 then b.yj else 0 end) as '三月份', sum(case when b.mon=4 then b.yj else 0 end) as '四月份', sum(case when b.mon=5 then b.yj else 0 end) as '五月份', sum(case when b.mon=6 then b.yj else 0 end) as '六月份', sum(case when b.mon=7 then b.yj else 0 end) as '七月份', sum(case when b.mon=8 then b.yj else 0 end) as '八月份', sum(case when b.mon=9 then b.yj else 0 end) as '九月份', sum(case when b.mon=10 then b.yj else 0 end) as '十月份', sum(case when b.mon=11 then b.yj else 0 end) as '十一月份', sum(case when b.mon=12 then b.yj else 0 end) as '十二月份', from table2 a left join table1 b on a.dep=b.dep

18

--方法一 select id,Count(*) from tb group by id having count(*)>1; --方法二 select * from (select count(ID) as count from table group by ID)T where T.count>1

19

--連接查詢 SELECT b.YEAR, SUM(a.salary) salary FROM hello a, hello b WHERE a.YEAR <= b.YEAR GROUP BY b.YEAR--子查詢 select year , (select sum(salary) from hello as B where B.year<=A.year ) from hello as A

覺得不錯,記得幫忙點個贊,謝謝啦~

總結

以上是生活随笔為你收集整理的sql a 表 若包含b表 则a 表 列显示_几道常见的SQL面试题,看你能答对几道?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。