今日学习mysql-两表连接显示数据

左外链接显示全部数据

右外连接显示相关的数据

使用场景

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 ;因为我有空值所以使用左外连接

你可能感兴趣的:(数据库,学习)