sql内连接查询

sql内连接查询

语法

  • select 字段 from 表1 inner join 表2 on 连接条件;

  • select 字段 from 表1 join 表2 on 连接条件;

  • select 字段 from 表1, 表2 [where 关联条件];

测试脚本

建表脚本

2张表:
t_team:组表。
temployee:员⼯表,内部有个teamid引⽤组表的id。
drop table if exists t_team;
create table t_team(
id int not null AUTO_INCREMENT PRIMARY KEY comment '组id',
team_name varchar(32) not null default '' comment '名称'
) comment '组表';
drop table if exists t_employee;
create table t_employee(
id int not null AUTO_INCREMENT PRIMARY KEY comment '部门id',
emp_name varchar(32) not null default '' comment '员⼯名称',
team_id int not null default 0 comment '员⼯所在组id'
) comment '员⼯表表';
insert into t_team values (1,'架构组'),(2,'测试组'),(3,'java组'),(4,'前端
组');
insert into t_employee values (1,'路⼈甲Java',1),(2,'张三',2),(3,'李
四',3),(4,'王五',0),(5,'赵六',0);

具体数据

mysql> select * from t_team;
+----+-----------+
| id | team_name |
+----+-----------+
| 1 | 架构组 |
| 2 | 测试组 |
| 3 | java组 |
| 4 | 前端组 |
+----+-----------+
4 rows in set (0.00 sec)
t_employee 表5条记录,如下:
mysql> select * from t_employee;
+----+---------------+---------+
| id | emp_name | team_id |
+----+---------------+---------+
| 1 | 路⼈甲Java | 1 |
| 2 | 张三 | 2 |
| 3 | 李四 | 3 |
| 4 | 王五 | 0 |
| 5 | 赵六 | 0 |
+----+---------------+---------+
5 rows in set (0.00 sec)

测试sql

-- 第一种
SELECT
	t2.team_name,
	t1.emp_name 
FROM
	t_employee t1
	INNER JOIN t_team t2 ON t1.team_id = t2.id
-- 第二种
SELECT
	t2.team_name,
	t1.emp_name 
FROM
	t_employee t1
	JOIN t_team t2 ON t1.team_id = t2.id 
-- 第三种	
SELECT
	t2.team_name,
	t1.emp_name 
FROM
	t_employee t1,
	t_team t2 
WHERE
	t1.team_id = t2.id	

总结

  1. inner join 可以简写成 join
  2. 以上三种方法都是内连接查询
  3. 通常我是使用第二种,因为inner join 更能体现出是内连接查询
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值