MySql數據庫筆試題總結


 

數據庫面試題94577265

1,設有關系EMP(ENO,ENAME,SALARY,DNO),其中各屬性的含義依次為職工號、姓名、工資和所在部門號,以及關系DEPT(DNO,DNAME,MANAGER),其中各屬性含義依次為部門號、部門名稱、部門經理的職工號 
1.試用SQL語句完成以下查詢: 
  列出各部門中工資不低於600元的職工的平均工資。

分析:這里要求各部門,證明用到分組group by,按什么分組,各部門的名稱,所以group by dname;

答案:select dname as 部門名稱 avg(salay) as 平均工資 from emp e ,dept d where e.dno=d.dno and e.salary >= 600 group by dname;

2.請用SQL語句將“銷售部”的那些工資數額低於600的職工的工資上調10%。

分析:首先應該查出銷售部所有人的工資,在判斷條件工資小於600的人的工資上調10%,也就是乘以1.1,分析好后,我們開始寫代碼。

最基本的這肯定是修改:

update EMP set salay = salay*1.1 where salay<600 and ENO in (select ENO from EMP join DEPT on EMP.DNO = DEPT.DNO 銷售部=DEPT.DNAME) ;

錯誤案例: 
UPDATE EMP 
SET SALARY = 1.1*SALARY 
WHERE EMP.DNO = DEPT.DNO 
AND DNAME = “銷售部” 
AND SALARY < 600; 
這樣寫,DEPT是不識別的,表名是只能在from字句中的

A表中有B表中的id,有這么一個需求,A表中的一個id可能對應B表中的多個id,怎么根據A表的id查出B表id對應的所有信息(姓名、性別、電話、收入)

SELECT g.phone,g.name,g.img,r.status,r.type FROM good g,re_good r WHERE r.id = #id# AND r.type = #type# AND g.o_id = r.o_id 


免責聲明!

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



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