1. 程式人生 > 實用技巧 >mysql經典筆試題

mysql經典筆試題

sql資料庫經典筆試題

題目一
在這裡插入圖片描述
解答:

  1. select avg(eglish) from mark;
  2. select mark.math,cust.Name,cust.Address,cust.Telno from mark join cust on mark.studentno = cust.Studentno where cust.studentno in (11,22,33,44,55);
  3. select cust.Name ,mark.computer form cust join mark on cust.Studentno = mark.studentno
    order by mark.computer desc;
  4. select cust.Studentno,cust.Name,english + math + computer total
    from cust join mark on cust.Studentno = mark.studentno
    having total > 240
    order by total desc;

題目二
在這裡插入圖片描述
解答:
A. select count(‘王姓學生’) from Student where Student.name like ‘王%’;
B. select id from (
select
a.id
max(case when c.name = ‘語文’ then b.score end) chinese,

max(case when c.name = ‘數學’ then b.score end) math
from student a
join sc b on a.id = b.cid
join course c on c.id = b.cid
group by a.id
having math > chinese);

方法二:
Select a.*,math.score as 數學,chinese.score as 語文 from
student a,
(Select * from sc where cid=(Select id from course where name =‘數學’)) as math,

(Select * from sc where cid=(Select id from course where name =‘語文’)) as chinese
where a.id = math.sid
and math.sid = chinese.sid
and math.score>chinese.score;

C. select Student.id,avg(sores) from Student join SC on Student.id = SC.sid group by Student.id having avg(sores) > 90;