内连接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(全连接)区别

26.MySQL中的内连接INNER JOIN

SQL——左连接(Left join)右连接(Right join)内连接(Inner join)

Mysql 多表连接查询 inner join 和 outer join 的使用