双表

#创建dbl输据库
create database dbl character set utf8;

#进入数据库
use dbl;

#创建tb表结构
create table tb(
id int(20) primary KEY auto_increment,
score varchar(20),
grade  varchar(20)
);


#创建tbs结构
create table tbs(
#建id字段,主键且自增
id int(20) primary key auto_increment,
#建name字段,字符串且非空
name varchar(20) not NULL,
#建sid字段,数字类型
sid int(20),
#字段sid,外关联tb表的id字段
foreign key(sid) references tb(id)
);


#为表tb添加输据
insert into tb value
(0,89.00,'良好'),
(0,100.00,'优秀'),
(0,77.00,'良好'),
(0,69.00,'良好'),
(0,59.00,'不及格'),
(0,30.00,'不及格');


#为表tbs添加输据
insert into tbs VALUE
(0,'张三',1),
(0,'赵四',2),
(0,'王五',4),
(0,'赵六',6),
(0,'张泽鹏',5),
(0,'申振锋',4),
(0,'刘雨',3),
(0,'吴浪',3),
(0,'吴凯',1),
(0,'魏强',2);


#查询学生表中所有学生记录
select * from tbs;


#查询学生表中学号、姓名,显示3-8条记录
select id,name from tbs limit 2,6;


#查询学生表中姓张的学生记录
select * from tbs where name like '张%';


#查询学生表中学号、姓名、分数编号,按照分数编号升序。
select * from tb order by id desc;


#查询学生表中各分数编号对应的人数
select sid,count(*) from tbs group by sid;    


#查询成绩表中分数80-100的成绩编号、分数、等级
select * from tb where score<100 and score>80;


#查询成绩表中各等级的最低分
select grade,min(score) from tb group by grade;


#查找出成绩在70-90之间的所有学生id、姓名、成绩、等级(内连接)
SELECT tbs.id,tbs.name,tb.score,tb.grade from tb inner join tbs on tb.id=tbs.sid where score>70 and score<90;


#查找出成绩最低的学生id、姓名及成绩(子查询)
select tb.id,tbs.name,tb.grade from tb inner join tbs on tb.id=tbs.sid where tb.score=(select min(score) from tb);


#查找出优秀的学生的个数(内连接)
select count(*) from tb inner join tbs on tb.id=tbs.sid where tb.grade='优秀';

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值