内连接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,这就是所谓的简单的内连接。