左外链接显示全部数据
右外连接显示相关的数据
使用场景
1、只查询关联数据,不关联的查不出来,查询出学生班信息显示出班级名和学生姓名
2、查询出主表所有数据,关联表有关联的数据,没有关联的数据差不到,查询所有表的数据,查询出主表关联的数据
表关系:三种+三规范
A B
一个A可以有几个B
一个B可以有几个A
一对一 丈夫和妻子
一对多:部门和员工
多对多:老师和学生、分类和品牌
首先创建一个库
使用
创建表 创建第二个表
插入数据 插入数据
两表连接
create database db_day05;
use db_day05;
create table office(
id int primary key auto_increment,
name varchar(100)
);
create table sick(
id int primary key auto_increment,
name varchar(100),
time date,
statie int,
oid int,
foreign key(oid) references office(id)
);
insert into office(id,name) value (null ,'男科');
insert into office(id,name) value (null ,'妇科');
insert into office(id,name) value (null ,'骨科');
insert into office(id,name) value (null ,'外科');
select *from office;
insert into sick(id, name, time, statie, oid) VALUE (null ,'高星','20230622',1,1);
insert into sick(id, name, time, statie, oid) VALUE (null ,'马维','20230623',0,2);
insert into sick(id, name, time, statie, oid) VALUE (null ,'马冬梅','20220622',0,1);
insert into sick(id, name, time, statie, oid) VALUE (null ,'张无忌','20220622',1,3);
insert into sick(id, name, time, statie, oid) VALUE (null ,'张青山','20220622',0,1);
insert into sick(id, name, time, statie, oid) VALUE (null ,'谢无忌','20220622',1,null);
select *from sick ;
select * from office c left join sick s on c.id = s.oid ;因为我有空值所以使用左外连接