联结表——where子句inner join
文章目录
- 1.联结
- 1.1 关系表
- 1.2 为什么要使用联结
- 2.创建联结
- 2.1 where子句的重要性
- 2.2 内部联结
- 2.3 联结多个表
1.联结
1.1 关系表
关系表的设计就是要保证把信息分解成多个表,一类数据一个表。各表通过某些常用的值(即关系设计中的关系互相关联)。
各关系表之间通过主键、外键进行关联。关系数据可以有效地存储和方便地处理。因此,关系数据库的可伸缩性远比非关系数据库要好。
1.2 为什么要使用联结
数据存储在多个表中,要想用单条SELECT语句检索出数据,就要使用联结。使用特殊的语法,可以联结多个表返回一组输出,联结在运行时关联表中正确的行。
2.创建联结
确定要联结的表及如何关联
2.1 where子句的重要性
在联结两个表时,实际上是将第一个表中的每一行与第二个表中的每一行配对。
where子句作为过滤条件,它只包含那些匹配给定条件(这里是联结条件)的行。
没有where子句,第一个表中的每个行将与第二个表中的每个行配对,而不管它们逻辑上是否可以配在一起。由没有联结条件的表关系返回的结果为笛卡儿积。检索出的行的数目将是第一个表中的行数乘以第二个表中的行数。
2.2 内部联结
尽管使用WHERE子句定义联结的确比较简单,但是使用明确的联结语法inner join…on 能够确保不会忘记联结条件,有时候这样做也能影响性能。
2.3 联结多个表
SQL对一条SELECT语句中可以联结的表的数目没有限制。首先列出所有表,然后定义表之间的关系。
Mysql在运行时关联指定的每个表以处理联结。这种处理可能是非常耗费资源的,因此应该仔细,不要联结不必要的表。联结的表越多,性能下降越厉害。
-- 用where子句联结两个表,确定要联结的表及如何关联
SELECT vend_name, prod_name, prod_price
FROM vendors, products
WHERE vendors.`vend_id`= products.`vend_id`
ORDER BY vend_name, prod_name;-- 没有where子句的联结,产生的结果数目是第一个表中的行数乘以第二个表中的行数
SELECT vend_name, prod_name, prod_price FROM vendors, products ORDER BY vend_name, prod_name;-- 内部联结inner join表名on 条件
SELECT vend_name, prod_name, prod_price
FROM vendors INNER JOIN products
ON vendors.`vend_id`= products.`vend_id`
ORDER BY vend_name,prod_name; -- 联结多个表
SELECT prod_name, vend_name, prod_price, quantity
FROM products, vendors, orderitems
WHERE products.`vend_id`= vendors.`vend_id`AND orderitems.`prod_id` = products.`prod_id`AND order_num = 20005;
联结表——where子句inner join相关推荐
- 数据库9:联结表 高级联结 组合查询 全文本搜索
第十五章联结表 Sql最强大的功能之一就是能在数据检索查询的执行中联结(join)表.联结是利用sql的select能执行的最重要的操作,能很好的理解联结及其语法是学习sql的一个极为重要的组成部分. ...
- MySQL(七)联结表
一.联结表基础知识 1.关系表 把信息分解成多个表,一类数据一个表,各表通过某些常用值(即关系设计中的关系(relational))互相关联: 2.外键(foreign key):外键为某个表中的一列 ...
- MySQL必知必会——第十五章联结表
联结表 本章将介绍什么是联结,为什么要使用联结,如何编写使用联结的SELECT语句. 联结 SQL最强大的功能之一就是能在数据检索查询的执行中联结(join)表. 在能够有效地使用联结前,必须了解关系 ...
- mysql必知必会读书笔记就——联结表、高级联结
vendor表: products表: orderitems表: customers表: orders表: 一.联结表:联结表是一种机制,用来在一条select语句中关联表,因此称为联结表.联结在运行 ...
- mysql内部联结_MySQL联结表
1. 联结表 创建联结,有where子句 select vend_name, prod_name, prod_price from vendors, products where vendors.ve ...
- SQL语言——联结表
1 联结 SQL最强大的功能之一就是能在数据检索查询的执行中联结(join) 表.联结是利用SQL的 SELECT能执行的最重要的操作,很好地理解联结 及其语法是学习SQL的一个极为重要的组成部 分. ...
- 《SQL必知必会》第十三课 创建高级联结表 使用不同类型的联结 使用带聚集函数的联结 使用联结时应注意的问题
第十三课 创建高级联结表 #使用表别名的原因 #不同的联结类型以及每类联结所使用的语法 #如何与联结一起使用聚集函数 #使用联结时的注意问题 一.使用表别名 [1]前面(第七课)介绍使用别名引用被检索 ...
- mysql 常用命令 | 表间 弱关联 join
show databases; use mhxy; select database();show tables; desc account_list_175;insert into mytable(n ...
- 【SQL自学打卡|DAY12】——联结表专项学习
前言 ❤欢迎大家阅读我的文章呀❤ 希望你们在我的文章当中能有所收获!!! SLogan:利用有限的时间,撸起袖子加油干! 知识点回顾 子查询的格式: 题目详情可参考DAY11文章当中的[SQL91] ...
最新文章
- tomcat通过apr配置https
- [ARM异常]-ARMV8的中断的routing和Mask表
- [Python_6] Python 配置 MySQL 访问
- 夯实基础——P2084 进制转换
- Python全栈开发——面向对象的三大特性(继承 多态 封装)
- 计算机测试怎么提交,Win7电脑怎么测试上传速度?
- 运行orbslam2出现 段错误 (核心已转储)_JDK 14已发布快速预览16个新特性
- 机器视觉:双远心镜头在弹簧检测中的应用
- IDEA中项目引入独立包打包失败问题解决(找不到包)
- 你不是编程挺厉害的吗?这都做不出来 | 硕士写给自己:努力应该适可而止
- 固态硬盘坏块修复工具_坏道和坏块什么区别?硬盘高级修复教程来了
- samba端口号修改_samba 端口号(samb端口号)
- android 清理系统垃圾,安卓手机怎么清理系统垃圾
- 使照片带有妙的电影色彩55款工具套件的lr微妙的电影调色预设
- Android项目之二手交易淘学院APP
- 本体学习方法及开发过程小结
- Data URL和图片(前端细节优化)
- 《宝岛双雄》曝正式海报 房祖名挑大梁的银幕转型之作
- 大数据之Stream流
- 16丨数据分析基础篇答疑