MySQL查询结果合并技巧(mysql查询结果合并)

MySQL能够查询出精彩的数据,但是在实际操作中,我们经常需要把多个表的查询结果组合起来,以供更详尽地分析,下面让我们以技巧实例的方式来看一些MySQL数据查询结果的合并方式。

一:UNION 操作

UNION是MySQL中十分常用的技巧,可以把两个select的结果集拼接起来,生成一个新的结果集,使用方式如下:

(Select id, age  From table1)
Union
(Select id,age From table2)

你可以将table1和table2中的结果集拼接起来,UNION会按照设置的排序规则,将结果集去重后排序,同时UNION中不支持Order by子句,你可以使用UNION ALL指令代替。

二:JOIN 操作

JOIN是MySQL中,把多个表中数据拼接起来最常用的技巧,使用方式如下:

Select table1.fields1,table2.fields2 From table1 Join table2 on table1.fields3=table2.fileds3

通常表的拼接都是以两个表的共同字段进行拼接,如果同时连结多个表,则称为多表连结,假设当前有3个表user, article, category,则查询语句如下:

Select user.name,article.title,category.name From user
Join article On user.user_id = article.user_id
Join category On article.cat_id = category.cat_id

该语句会把所有表的内容拼接起来,如果存在多对多关系,将出现两个或以上相同字段,可以使用 SELECT语句中的 AS 添加别名来实现。

三:Subquery 操作

Subquery子查询是MySQL中比较强大,也是比较常用的查询技巧,它基本原理是把SELECT语句嵌入其他SELECT语句中使用,语句格式如下:

select…from…where…(select…)

这里 select…from…where…后面添加了一个子查询,子查询是把一个SELECT语句放在括号内执行,它返回一个单一的值,而此子查询返回的值会决定而外层SELECT语句是否会受到影响。

以上就是常用的MySQL查询结果合并技巧介绍,以上三个技巧你可以根据实际情况选择不同的应用,根据不同的需求来把结果集拼接,使结果集更加完美有效。


数据运维技术 » MySQL查询结果合并技巧(mysql查询结果合并)