create database zuoye default charset=utf8; -- 創(chuàng)建數(shù)據(jù)庫
use zuoye; -- 使用數(shù)據(jù)庫
#創(chuàng)建幾個庫表
create table Student -- 學生表
(
Sno char(3) NOT NULL Primary key , -- 學號 畸陡,設(shè)為主鍵虽填,不允許空值
Sname char(8) NOT NULL, -- 學生姓名
Ssex char(2)NOT NULL, -- 學生性別
Sbirthday datetime, -- 學生出生年月
Class char(5) -- 學生所在班級
);
create table Teacher -- 教師表
(
Tno char(3)NOT NULL primary key, -- 教工編號設(shè)為主鍵
Tname char(4)NOT NULL, -- 教工姓名
Tsex char(2)NOT NULL, -- 教工性別
Tbirthday datetime, -- 教工出生年月
Prof char(6), -- 職稱
Depart varchar(10)NOT NULL -- 教工所在部門
)
create table Course -- 課程表
(
Cno char(5) NOT NULL Primary key , -- 課程號設(shè)為主鍵
Cname varchar(10) NOT NULL, -- 課程名稱
Tno char(3) NOT NULL references Teacher(Tno) -- 教工編號設(shè)為外鍵
)
create table Score -- 成績表
(
Sno char(3) NOT NULL references Student(Sno), -- 學號設(shè)為外碼
Cno char(5) NOT NULL references Course(Cno), -- 課程號設(shè)為外碼
Degree Decimal(4,1), -- 成績
primary key(Sno,Cno) -- 學號和課程號設(shè)為聯(lián)合主鍵
)
二、插入數(shù)據(jù)
insert into Student values(108,'曾華','男','1977-09-01','95033');
insert into Student values(105,'匡明','男','1975-10-02','95031');
insert into Student values(107,'王麗','女','1976-01-23','95033');
insert into Student values(101,'李軍','男','1976-02-20','95033');
insert into Student values(109,'王芳','女','1975-02-10','95031');
insert into Student values(103,'陸君','男','1974-06-03','95031');
insert into Teacher values(804,'李誠','男','1958-12-02','副教授','計算機系');
insert into Teacher values(856,'張旭','男','1969-03-12','講師','電子工程系');
insert into Teacher values(825,'王萍','女','1972-05-05','助教','計算機系') ;
insert into Teacher values(831,'劉冰','女','1977-08-14','助教','電子工程系');
insert into Course values('3-105','計算機導論',825);
insert into Course values('3-245','操作系統(tǒng)',804);
insert into Course values('6-166','數(shù)字電路',856);
insert into Course values('9-888','高等數(shù)學',831);
insert into Score values(103,'3-245',86);
insert into Score values(105,'3-245',75);
insert into Score values(109,'3-245',68);
insert into Score values(103,'3-105',92);
insert into Score values(105,'3-105',88);
insert into Score values(109,'3-105',76);
insert into Score values(101,'3-105',64);
insert into Score values(107,'3-105',91);
insert into Score values(108,'3-105',78);
insert into Score values(101,'6-166',85);
insert into Score values(107,'6-166',79);
insert into Score values(108,'6-166',81);
select * from Student;
select * from Teacher;
select * from Course;
select * from Score;
create table Grade(Low int ,Upp int,Rank char(1))
select *from Grade;
insert into Grade values(90,100,'A');
insert into Grade values(80,89,'B');
insert into Grade values(70,79,'C');
insert into Grade values(60,69,'D');
insert into Grade values(0,59,'E');
-- 1、 查詢Student表中的所有記錄的Sname第献、Ssex和Class列兔港。
select sname,ssex,class from student;
-- 2、 查詢教師所有的單位即不重復的Depart列衫樊。 distinct
select distinct depart from teacher;
-- 3、 查詢Student表的所有記錄载佳。
select * from student;
-- 4臀栈、 查詢Score表中成績在60到80之間的所有記錄。 and
select * from score where degree >60 and degree <80;
select * from score where degree between 60 and 80;
-- 5权薯、 查詢Score表中成績?yōu)?5,86或88的記錄肋联。 or
select cno,degree,sno from score where degree=85 or degree=86 or degree=88;
-- 6刁俭、 查詢Student表中"95031"班或性別為"女"的同學記錄。 or ||
select class,ssex from student where class=95031 || ssex='女';
-- 7、 以Class降序查詢Student表的所有記錄虑粥。
select * from student order by class desc;
-- 8宪哩、 以Cno升序、Degree降序查詢Score表的所有記錄锁孟。
select* from score order by cno ,degree desc;
-- 9、 查詢"95031"班的學生人數(shù)储笑。
select count(*) from student where class='95031';
select * from student;
-- 10圆恤、 查詢Score表中的最高分的學生學號和課程號。(子查詢或者排序)
select sno,cno from score order by degree desc limit 1 ;
select * from score;
-- 10.1 查詢Score表中除了每門課程最高分的學生學號和課程號羽历。(子查詢或者排序)
select sno,cno from score where degree !=(select degree from score order by degree desc limit 1
)
-- 11淡喜、查詢每門課的平均成績。
select avg(degree) from score group by cno;
select * from score;
-- 12炼团、查詢Score表中至少有5名學生選修的并以3開頭的課程的平均分數(shù)。
select cno, avg(degree)
from score where cno like '%3%'
group by cno
having count(sno)>=5;
-- 13币叹、查詢分數(shù)大于70模狭,小于90的Sno列。
select sno
from score
group by sno
having min(degree)>70 and max(degree)<90;
-- 14嚼鹉、查詢所有學生的Sname、Cno和Degree列匹舞。
select sname,cno,degree from student join score on student.sno=score.sno
order by student.sno;
-- 15线脚、查詢所有學生的Sno叫榕、Cname和Degree列
select sno,cname,degree from course join score on course.cno=score.cno
order by sno;
-- 16姊舵、查詢所有學生的Sname、Cname和Degree列荞下。
select sname,cname,degree from student join score on student.sno=score.sno join course on score.cno=course.cno
order by student.sno;
-- 17史飞、查詢"95033"班學生的平均分。
select class, avg(degree) from student
join score on student.sno=score.sno
group by class
having class='95033'
order by class
-- 18构资、 現(xiàn)查詢所有同學的Sno、Cno和rank列。
select sno,cno,rank from score join grade on score.degree between grade.low and grade.upp
order by sno;
-- 19塞帐、查詢選修"3-105"課程的,并且成績高于"109"號同學成績的所有同學的記錄。
select *
from student join score on student.sno=score.sno
where cno = '3-105'
group by score.sno
having degree > (select max(degree) from score where score.sno='109');
-- 20荷鼠、查詢成績高于學號為"109"榔幸、課程號為"3-105"的成績的所有記錄。
select *
from score join course on score.cno=course.cno
where course.cno = '3-105'
group by sno
having degree > (select max(degree) from score where sno='109');
mySQL 20道練習題
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
- 文/潘曉璐 我一進店門计雌,熙熙樓的掌柜王于貴愁眉苦臉地迎上來悄晃,“玉大人凿滤,你說我怎么就攤上這事【祢荆” “怎么了反番?”我有些...
- 文/不壞的土叔 我叫張陵,是天一觀的道長篙贸。 經(jīng)常有香客問我枫疆,道長,這世上最難降的妖魔是什么息楔? 我笑而不...
- 正文 為了忘掉前任值依,我火速辦了婚禮,結(jié)果婚禮上愿险,老公的妹妹穿的比我還像新娘。我一直安慰自己澡匪,他們只是感情好褒链,可當我...
- 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著甸鸟,像睡著了一般惦费。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上薪贫,一...
- 文/蒼蘭香墨 我猛地睜開眼符糊,長吁一口氣:“原來是場噩夢啊……” “哼蜜笤!你這毒婦竟也來了盐碱?” 一聲冷哼從身側(cè)響起,我...
- 正文 年R本政府宣布,位于F島的核電站谒出,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏为居。R本人自食惡果不足惜杀狡,卻給世界環(huán)境...
- 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望膳凝。 院中可真熱鬧恭陡,春花似錦蹬音、人聲如沸休玩。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽呐矾。三九已至,卻和暖如春凫佛,著一層夾襖步出監(jiān)牢的瞬間孕惜,已是汗流浹背晨炕。 一陣腳步聲響...
推薦閱讀更多精彩內(nèi)容
- 1.在任意文件夾下面創(chuàng)建形如 1/2/3/4/5/6/7/8/9 格式的文件夾系列 2.在創(chuàng)建好的文件夾下面丛肮,比如...
- 一:表與數(shù)據(jù) CREATE DATABASE db01; USE db01; -- 學生表 student CRE...
- 前期準備 由于我使用的是win10系統(tǒng)宝与,所以提前把一些要注意的點給標注出來冶匹;在windows下因為windows使...
- 我使用的Mysql版本是5.7.19。答案可能會因版本會有少許出入榜聂。如果答案有問題歡迎在評論區(qū)指出并給出你的答案嗓蘑。...
- 建表語句在文末如果你想查看MYSQL時間函數(shù)匿乃,可以看本篇文章—mysql時間與字符串之間相互轉(zhuǎn)換桩皿。 在學習SQL語...