新題速看!2021阿里、騰訊、字節都在問的SQL數據庫筆試題及答案都給你整理好啦!


 ♥  前  言

2021到了最后一個月份,年后肯定有蠻多小伙伴需要跳槽換工作,但對於年限稍短的軟件測試工程師,難免會需要進行筆試,而在筆試中,基本都會碰到一道關於數據庫的大題,今天這篇文章呢,就收錄了下最近學員反饋上來的一些數據庫筆試真題,包含答案!

 

1、依據以下學生表、班級表,按要求寫 SQL

 

圖片

 

答案:

1、
select * from student a
left join class b on a.c_id = b.id
where score = (
select max(score) from student)

2、
select b.name,count(*),avg(score) as avgScore from student a,class b
where a.c_id = b.id
group by b.name
order by avgScore;

 

2、Table A 保存客戶的基本信息;Table B 保存客戶的資產負債信息。按要求寫 SQL

 

圖片

 

答案:

(1)select ID from A where name = '李四';
(2)select NO,NAME,ID from A,B where A.NO = B.NO AND DEPOSIT >= 1000;
(3)select COUNTRY,count(*) FROM A GROUP BY COUNTRY;

(4)SELECT '80 后' as 年齡段,sum(CREDIT) AS '信用卡余額' FROM A,B WHERE A.NO = B.NO AND BIRTH >= 19800101 AND BIRTH < 19900101
UNION
SELECT '90 后' as 年齡段,sum(CREDIT) AS '信用卡余額' FROM A,B WHERE A.NO = B.NO AND BIRTH >= 19900101 AND BIRTH < 20000101;

 

3、數據庫(編寫示例 sql)

 

圖片

圖片

 

答案:

  1. select orderNo, if(status=1,'新建','處理中') from OrderTrans;

  2. select DATE_FORMAT(a.crttime,'%m-%d-%Y') ,username,count(*) from testCase a,User b where a.crtUser = b.UserId group by DATE_FORMAT(a.crttime,'%m-%d-%Y'),b.username, having status = '成功';

  3. select count(*),sum(amount),DATE_FORMAT(crttime,'%m-%d-%Y') from OrderInfo group by
    DATE_FORMAT(crttime,'%m-%d-%Y');

 

4、現有三張數據表如下:學生資料表:記錄學生基本信息;課程表:記錄課程基本信息;成績表:記錄每人各門課程成績的信息,1 個學生對應多個成績,1 個成績只屬於一個學生,一個課程

 

圖片

 

答案:

  1. Select * from students where jg = ‘湖北’ and birthday = ‘1992-6-1’ order by no asc;

  2. Select avg(so.cj),min(so.cj),max(so.cj),sum(so.cj) from student st,course c,source so where st.no = so.no and c.kebh=so.kebh and st.name = ‘王華’ group by st.no;

  3. Select st.no,st.name,st.bj,c.kebh,c.kcmc,so.cj from student st,course c,source so where st.no = so.no and c.kebh=so.kebh and st.name = ‘張三’ order by so.cj desc;

 

圖片

圖片

 

答案:

  1. Select Consultant.SubsidiaryID, BaseOrder.* from Consultant, BaseOrder where Consultant.ConsultantID = BaseOrder.ConsultantID and Consultant.SubsidiaryID = 29 order by Orderid desc;

  2. Select BaseOrder.ConsultantID,sum(OrderDetails.TotalPrice) from BaseOrder,OrderDetails where BaseOrder.Orderid=OrderDetails.Orderid and month(OrderDate) = 5 group by BaseOrder.ConsultantID;

  3. Insert into Consultant (ConsultantID,ConstultantStatusID,SubsidiaryID,Name) values (200000,10,29,’Gary’);

  4. Delete from Consultant where Name like ‘%Gary%’;

  5. Update BaseOrder set OrderDate = sysdate() where ConsultantID in (select ConsultantID from BaseOrder where ConsultantID=100003 order by OrderDate desc limit 0,1);

 

 

 領取資料方式,掃描下方二維碼即可(薇:nmeng897)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM