什么是内连接?
查询信息的来源如果来自多张表,则必须对这些表进行连接查询。连接是把不同表的记录连到一起的最普遍的方法,通过连接查询可将多个表作为一个表进行处理。连接查询分为内连接和外连接。
通俗而言,笛卡尔积就是两个集合中的每一个成员都与对方集合中的任意一个成员有关联。实现表与表笛卡尔积的SQL语法如下:
SELECT * FROM 表名 CROSS JOIN 表名 等价于:SELECT*FROM 表名,表名
在 MySQL FROM 子句中使用关键字 INNER JOIN 连接两张表,并使用 ON 子句来设置连接条件。如果没有任何条件,INNER JOIN 和 CROSS JOIN 在语法上是等同的,两者可以互换。
内连接是应用程序中非常常见的连接操作,它一般都是默认的连接类型。内连接基于连接谓词,它将两张表的列组合在一起,产生一张新的表。就可以查询这张新表了。
案例
问题:查询每件商品的商品名和分类名
语法格式如下:
-
SELECT 列
-
FROM 表1 INNER JOIN 表2
-
ON 表1.列 = 表2.列
案例:
-
select goodsname,Typename
-
from goods join Type
-
on goods.TypeID = Type.TypeID
结果:
查询的结果是两张表共同的数据,这样我们就成功用内连接把两张表合成一张大表来查询了