Left join多表查询

sql 多表查询中用到的连接查询使用较多的是left join,连接的表查询到的数据为空时,主表显示null值,不会影响整个查询结果

具体用法  

1.创建表单 教师表和学院表

create table if not EXISTS teacher 
(
  id int(11) auto_increment PRIMARY KEY,
  name VARCHAR(20),
  age int(11),
  academy int(11)
)
create table if not EXISTS academy
(
  id int(11) auto_increment PRIMARY KEY,
  name VARCHAR(20)
)

2.插入数据

insert into academy(name) VALUES("计算机");
insert into academy(name) VALUES("机电");
insert into academy(name) VALUES("土木");
insert into teacher(name,age,academy) VALUES("张三",25,1);
insert into teacher(name,age,academy) VALUES("李四",20,2);
insert into teacher(name,age,academy) VALUES("王五",21,3);
insert into teacher(name,age,academy) VALUES("赵六",24,1);

结果:教师表:   学院表     

3.开始查询,查询结果要求,查询到教师的所有信息,包括学院的名称

注意点:必须给表起一个别名,否则汇报属性ambiguously冲突,分不清是哪个表的属性值

查询语句

select t.id,t.name,t.age,a.name as academy
from teacher t
LEFT JOIN academy a on t.academy=a.id
order by id asc

查询结果


注意

a.name as academy

这句话将查询到的学院名作为一个学院列的值

连接同一个表有多个条件时可以写两条连接这张表的语句,用别名区分开,应该有其他办法,但我暂时还没找到

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值