内连接INNER JOIN
Posted 大数据和人工智能躺过的坑
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了内连接INNER JOIN相关的知识,希望对你有一定的参考价值。
内连接INNER JOIN
一、连接
mysql的SELECT语句、多表更新、多表删除语句中支持JOIN操作。
语法结构
二、数据表参照
table_reference
tbl_name [[AS] alias] | table_subquery [AS] alias
数据表可以使用tbl_name AS alias_name或tbl_name alias_name赋予别名
table_subquery可以作为子查询使用在FROM子句中,这样的子查询必须为其赋予别名。
三、连接类型
INNER JOIN,内连接
显示左表和右表符合连接条件的记录
在MySQL中,JOIN,CROSS JOIN和INNER JOIN是等价的。
四、连接条件
使用ON关键字来设定连接条件,也可以使用WHERE来代替。
通常使用ON关键字来设定连接条件,
使用WHERE关键字来进行结果集记录的过滤。
下面我们用一个简单的例子来证明一下这个问题。我们以商品表和商品类别表为例,操作命令及结果如下:
我们先来查看一下两个表的表结构,分别如下:
SHOW COLUMNS FROM tdb_goods;
SHOW COLUMNS FROM tdb_goods_cates;
下面我们将这两张表进行内连接并查找其中的一些字段。
SELECT goods_id,goods_name,cate_name FROM tdb_goods INNER JOIN tdb_goods_cates ON tdb_goods.cate_id = tdb_goods_cates.cate_id;
我们记着我们之前是23条数据,但是现在我们查到了22条记录,因为有一条记录不符合连接条件,就是那条我们最后插入的那个商品类别为13的那条记录,所以返回22条记录,OK,这就是所谓的简单的内连接。
以上是关于内连接INNER JOIN的主要内容,如果未能解决你的问题,请参考以下文章
oracle 内连接(inner join)外连接(outer join)全连接(full join)
外连接(left join、full join、right join)与内连接(inner join)的区别
inner join(内连接)left join(左连接)right join(右连接)full join(全连接)区别