教你快速掌握MySQL数据库——连接查询语句 内连接
连接查询
重点掌握
1.进行连接查询时返回的结果集,是两个表中所有相匹配的数据,而舍弃不匹配的数据,这种连接称为内连接
2.在自然连接中两张表的所有名称相同的列都将被比较,并且在结果集中吧重复的列去掉,结果集中两张表中名称相同的列仅出现一次
5.综合使用连接查询、聚合函数和分组查询可以实现很多复杂的查询需求
连接查询分为内连接和外连接
一.内连接查询
1.概要:内连接是应用程序中非常常见的连接操作,它一般是默认的连接方式
2.内连接分三种:交叉连接、相等连接和自然连接
内连接的语句如下:
SELECT fieldlist FROM table1 [INNER] JOIN table2 ON table1.column1=table2.column2 [where condition]
(1)fieldlist:table1表和table2表中的字段列名。如果取用两张表所有列,则可用“*”代替,此时会出现连接依据列重复,即table1表的column1与table2表的column2为重复列
(2)table1 [INNER] JOIN table2:将table1表与table2进行内连接,INNER可省略
(3)table1.column1=table2.column2:连接条件,其中column1和column2为table1表与table2表的关系列,通常它们为外键列和主键列
(4)”where condition“可省略,他为查询条件表达式
注意:连接依据的列可能包含null值,null值不与任何值匹配(甚至和它本身)
示例
1、查询每件商品的商品名和分类名
SQL语句如下:
SELECT goods.GoodsName 商品,type.TypeName 分类 FROM goods,type WHERE goods.TypeID = type.TypeID
2、查询每个分类的分类名和有多少件商品
SQL语句如下:
SELECT type.TypeName 分类,count(*) 数量 FROM type,goods WHERE goods.TypeID = type.TypeID GROUP BY type.TypeName
