9.MySQL表的内连和外连|内连接|外连接|左外连接|右外连接

表的连接分为内连和外连

内连接

内连接实际上就是利用where子句对两种表形成的笛卡儿积进行筛选,我们前面学习的查询都是内连接,也是在开发过程中使用的最多的连接查询。

语法:

mysql 复制代码
select 字段 from 表1 inner join 表2 on 连接条件 and 其他条件;
  • 显示SMITH的名字和部门名称
mysql 复制代码
-- 用前面的写法  
select ename, dname from EMP, DEPT where EMP.deptno=DEPT.deptno and  
ename='SMITH';  


mysql 复制代码
-- 用标准的内连接写法  
select ename, dname from EMP inner join DEPT on EMP.deptno=DEPT.deptno and  
ename='SMITH';

外连接

外连接分为左外连接和右外连接

左外连接

如果联合查询,左侧的表完全显示我们就说是左外连接。

语法:

mysql 复制代码
select 字段名 from 表名1 left join 表名2 on 连接条件
mysql 复制代码
-- 建两张表  
create table stu (id int, name varchar(30)); -- 学生表  
insert into stu values(1,'jack'),(2,'tom'),(3,'kity'),(4,'nono');  
create table exam (id int, grade int); -- 成绩表  
insert into exam values(1, 56),(2,76),(11, 8);
右外连接

如果联合查询,右侧的表完全显示我们就说是右外连接。

语法:

mysql 复制代码
select 字段 from 表名1 right join 表名2 on 连接条件;
相关推荐
2401_850491653 小时前
如何监控当前正在执行的SQL进程_SHOW PROCESSLIST
jvm·数据库·python
m0_702036533 小时前
CSS如何优化浮动导致的布局渲染性能_清除浮动策略
jvm·数据库·python
m0_591364733 小时前
golang如何实现语言包自动加载_golang语言包自动加载实现指南
jvm·数据库·python
盖世英雄酱581363 小时前
6000条数据执行时间9s??
数据库·后端
dinglu1030DL3 小时前
如何让水平滚动条始终固定在页面底部
jvm·数据库·python
2301_783848653 小时前
Python Selenium怎么定位元素_By.XPATH与By.CSS_SELECTOR操作DOM节点
jvm·数据库·python
2501_901006474 小时前
如何解决OUI图形界面无法调用_xhost与DISPLAY变量设置
jvm·数据库·python
2301_787312434 小时前
mysql数据库索引碎片化排查方法_mysqlInnoDB存储结构
jvm·数据库·python
qq_414256574 小时前
组件懒加载如何处理 JS 报错后的重试加载?保障应用高可用性实战
jvm·数据库·python