想要挑战百万年薪吗?那就跟我一起学习MySQL,百万年薪不是梦!!!
接下来,简单带大家简单了解MySQL的数据操作与查询——连接查询。
一:内连接查询:内连接查询分为交叉连接和自然连接。
1交叉连接:
语法:SELECT fieldlist FROM table1 JOIN table2 ON table.columnl=table2.column2
select 字段名 FROM 表名1 LEFT [OUTER] JOIN 表名2 ON 表名1.字段名1=表名2.字段名2
2.自然连接:
语法:SELECT fieldlist FROM table1 NATURAL JOIN table2
二:外连接查询:外连接查询分为左外连接和右外连接:
SELECT 字段名称 FROM 表名1 LEFTIRIGHTIFULL JOUTERI JOIN 表名2 ON 表名 1. 字段名 1= 表名 2.字段名 2
1.左外连接:(LEFT JOIN)
语法:SELECT fieldlist FROM table1 LEFT JOIN table2 ON table.columnl=table2.column2
select 字段名 FROM 表名1 LEFT [OUTER] JOIN 表名2 ON 表名1.字段名1=表名2.字段名2
2.右外连接:(RIGHT JOIN)
语法:SELECT fieldlist FROM table1 RIGHT JOIN table2 ON table.columnl=table2.column2
select 字段名 FROM 表名1 RIGHT [OUTER] JOIN 表名2 ON 表名1.字段名1=表名2.字段名2
===============================总结====================================
1.内连接:指连接结果仅包含符合连接条件的行,参与连接的两个表都应该符合连接条件。
2.外连接:连接结果不仅包含符合连接条件的行同时也包含自身不符合条件的行。包括左外连接、右外连接和全外连接。
3.左外连接:左边表数据行全部保留,右边表保留符合连接条件的行。
4.右外连接:右边表数据行全部保留,左边表保留符合连接条件的行。
三:课后习题练习:
1.查询用户购买的商品和商品分类
select goods.GoodsName 商品,type.TypeName 分类 from goods join type where goods.TypeID = type.TypeID
2.查询商品分类并统计数量
select TypeName 分类,count(*) 数量 from goods join type where goods.TypeID = type.TypeID group by TypeName
3.查询每个商品是谁买的,什么时候买的,买了什么,买了多少个(花了多少钱)
seleect Name 客户, OrderDate 日期,GoodsName 商品 ,Quantity 数量 from user join orders on user.UserID = orders.UserID join ordersdetail on orders.OrdersID = ordersdetail.OrdersID join goods on ordersdetail.goodsId = goods.GoodsId