mysql数据库查询语句练习

1.数据库中3个表的创建与插入数据

--学生表Student

学号
姓名
性别
出生年月日
所在班级
CREATE table student(
  sno varchar(20) primary key,
  sname varchar(20) not null,
  ssex varchar(10) not null,
  sbirthday DATETIME,
  class varchar(20)
);

insert into student values('108','曾华','男','1977-09-01','95033');
insert into student values('105','匡明','男','1975-10-02','95031');
insert into student values('107','王丽','女','1976-09-23','95033');
insert into student values('101','李军','男','1976-09-01','95033');
insert into student values('109','王芳','女','197509-01','95031');
insert into student values('103','陆中','男','1974-09-01','95031');
insert into student values('102','吴海','男','1992-03-14','95033');
insert into student values('104','李一军','男','1976-09-01','95033');
insert into student values('106','王尼玛','女','197509-01','95031');

--教师表Teacher

教师编号
教师名字
教师性别
出生年月日
职称
所在部门
create table teacher(
  tno varchar(20) primary key,
  tname varchar(20) not null,
  tsex varchar(10) not null,
  tbirthday datetime,
  prof varchar(20) not null,
  depart varchar(20) not null
);


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','助教','电子工程系');

--课程表Course
课程号
课程名称
教师编号
create table course(
  cno varchar(20) primary key,
  cname varchar(20) not null,
  tno varchar(20) not null,
  foreign key(tno) REFERENCES teacher(tno)
);

insert into course values('3-105','计算机导论','825');
insert into course values('3-245','操作系统','804');
insert into course values('6-166','数字电路','856');
insert into course values('9-888','高等数学','831');


--成绩表Score
学号
课程号
成绩
create table score(
  sno varchar(20) not null,
  cno varchar(20) not null,
  degree DECIMAL,
  foreign key(sno) REFERENCES student(sno),
  foreign key(cno) REFERENCES course(cno),
  primary key(sno,cno)
);

drop table score;

show tables;


insert into score values('103','3-105','92');
insert into score values('103','3-245','86');
insert into score values('103','6-166','85');
insert into score values('105','3-105','88');
insert into score values('105','3-245','75');
insert into score values('105','6-166','77');
insert into score values('109','3-245','68');
insert into score values('109','3-105','76');
insert into score values('109','6-166','56');
select *from score;

练习1:查询student表的所有记录。

select * from student;

练习2:查询student表中所有记录的sname、ssex和class列。

select sname,ssex,class from student;

3.查询教师所有单位即不重复的depart列。

select  distinct depart from teacher;

4.查询score表中成绩在60-80之间的所有记录。

select degree from score between 60 and 80;

select * from score where degree>60 and degree<80;

5.查询score表中成绩为85,86,88的记录。in(同一个字段)

6.查询student表中‘95031’班或性别为女的同学记录   or (不同字段)

7.以class降序查询student表的所有记录。

order by排序     desc降序     asc升序(一般默认升序  可以不写)

8.以cno升序、degree降序查询score表的所有记录。

9查询95031班级人数

10 查询score表中最高分的学生学号和课程号(子查询和排序)

(1)找最高分

(2)找最高分的sno和 cno

 

--排序做法

11.查询每门课平均成绩

(1)共有多少课程

(2)求平均成绩

group by分组

12

13

14

15

16

17.查询‘95031’班级学生每门课平均分

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值