做了一些mysql的習題 感覺用來應付面試是足夠了

來源:互聯網
上載者:User

標籤:desc   dep   mil   考試科目   子查詢   中文   福建   create   ble   

1.建立student和score表

CREATE  TABLE  student (

id  INT(10)  NOT NULL  UNIQUE  PRIMARY KEY  ,

name  VARCHAR(20)  NOT NULL ,

sex  VARCHAR(4)  ,

birth  YEAR,

department  VARCHAR(20) ,

address  VARCHAR(50) 

);

建立score表。SQL代碼如下:

CREATE  TABLE  score (

id  INT(10)  NOT NULL  UNIQUE  PRIMARY KEY  AUTO_INCREMENT ,

stu_id  INT(10)  NOT NULL ,

c_name  VARCHAR(20) ,

grade  INT(10)

);

2.為student表和score表增加記錄

向student表插入記錄的INSERT語句如下:

INSERT INTO student VALUES( 901,‘張老大‘, ‘男‘,1985,‘電腦系‘, ‘北京市海澱區‘);

INSERT INTO student VALUES( 902,‘張老二‘, ‘男‘,1986,‘中文系‘, ‘北京市昌平區‘);

INSERT INTO student VALUES( 903,‘張三‘, ‘女‘,1990,‘中文系‘, ‘湖南省永州市‘);

INSERT INTO student VALUES( 904,‘李四‘, ‘男‘,1990,‘英語系‘, ‘遼寧省阜新市‘);

INSERT INTO student VALUES( 905,‘王五‘, ‘女‘,1991,‘英語系‘, ‘福建省廈門市‘);

INSERT INTO student VALUES( 906,‘王六‘, ‘男‘,1988,‘電腦系‘, ‘湖南省衡陽市‘);

向score表插入記錄的INSERT語句如下:

INSERT INTO score VALUES(NULL,901, ‘電腦‘,98);

INSERT INTO score VALUES(NULL,901, ‘英語‘, 80);

INSERT INTO score VALUES(NULL,902, ‘電腦‘,65);

INSERT INTO score VALUES(NULL,902, ‘中文‘,88);

INSERT INTO score VALUES(NULL,903, ‘中文‘,95);

INSERT INTO score VALUES(NULL,904, ‘電腦‘,70);

INSERT INTO score VALUES(NULL,904, ‘英語‘,92);

INSERT INTO score VALUES(NULL,905, ‘英語‘,94);

INSERT INTO score VALUES(NULL,906, ‘電腦‘,90);

INSERT INTO score VALUES(NULL,906, ‘英語‘,85);

下面是習題的答案 感覺還是有所收穫的

 

3.查詢student表的所有記錄
select * from student
4.查詢student表的第2條到4條記錄
select * from student limit 1,3
5.從student表查詢所有學生的學號(id)、姓名(name)和院系(department)的資訊
select id ,name ,department from student
6.從student表中查詢電腦系和英語系的學生的資訊
select * from student where department in (‘電腦系‘,‘英語系‘)
從student表中查詢年齡18~22歲的學生資訊
select * from student where 2017-birth BETWEEN 18 and 30
從student表中查詢每個院系有多少人
select department,count(1) from student GROUP BY department
從score表中查詢每個科目的最高分
select c_name,MAX(grade) from score GROUP BY c_name
查詢李四的考試科目(c_name)和考試成績(grade)

 

select t1.c_name,t1.grade from score t1 left join student t2 on t1.stu_id = t2.id where t2.name = ‘李四‘
select t1.c_name ,t1.grade from score t1 where t1.stu_id =(select id from student where name=‘李四‘)
select t1.c_name ,t1.grade from score t1,student t2 where t2.name = ‘李四‘ and t1.stu_id = t2.id

 

用串連的方式查詢所有學生的資訊和考試資訊
select student.id,name,sex,birth,department,address,c_name,grade from score,student where score.stu_id = student.id
計算每個學生的總成績
select t2.name,sum(t1.grade) from score t1,student t2 WHERE t1.stu_id = t2.id GROUP BY t2.name
13.計算每個考試科目的平均成績
select c_name, AVG(grade)from score GROUP BY c_name
14.查詢電腦成績低於95的學生資訊
select t1.name,t1.sex,t1.birth,t1.department,t1.address,t2.grade,t2.c_name from student t1 ,score t2 where t2.c_name=‘電腦‘ and t2.grade<95 and t1.id = t2.stu_id
15.查詢同時參加電腦和英語考試的學生的資訊
select t1.name,t1.sex,t1.birth,t1.department,t1.address from student t1,score t2,score t3
where t1.id = t2.stu_id
and t2.c_name =‘電腦‘
and t1.id = t3.stu_id
and t3.c_name=‘英語‘
SELECT * FROM student
WHERE id =ANY
(SELECT stu_id FROM score WHERE stu_id IN( SELECT stu_id FROM score WHERE c_name= ‘電腦‘) AND c_name= ‘英語‘)

 

16.將電腦考試成績按從高到低進行排序
select * from score where c_name=‘電腦‘ order by grade desc
17.從student表和score表中查詢出學生的學號,然後合并查詢結果
SELECT id FROM student
UNION
SELECT stu_id FROM score;

 

 

 

18.查詢姓張或者姓王的同學的姓名、院系和考試科目及成績
select t1.name,t1.sex,t1.birth,t1.department,t1.address,t2.grade,t2.c_name from student t1 ,score t2 where

 

(t1.name like ‘張%‘ or t1.name like ‘王%‘)
and t1.id = t2.stu_id

 

19.查詢都是湖南的學生的姓名、年齡、院系和考試科目及成績
select t1.name,t1.sex,t1.birth,t1.department,t1.address,t2.grade,t2.c_name from student t1 ,score t2 where
t1.address like ‘湖南%‘
and t1.id = t2.stu_id

合并著查詢的效率比子查詢的效率高多了 

 

做了一些mysql的習題 感覺用來應付面試是足夠了

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.