本文实例讲述了mysql多表联合查询操作。分享给大家供大家参考,具体如下:

MySQL多表联合查询是MySQL数据库的一种查询方式,下面就为您介绍MySQL多表联合查询的语法,供您参考学习之用。

MySQL多表联合查询语法:
复制代码 代码如下:

SELECT `id`, `name`, `date`, '' AS `type` FROM table_A WHERE 条件语句…… UNIONSELECT `id`, `name`, `date`, '未完成' AS `type` FROM table_B WHERE 条件语句…… ORDER BY `id` LIMIT num;

第一步:建立临时表tmp_table_name并插入table_A中的相关记录
复制代码 代码如下:

第三步:从临时表tmp_table_name中取出记录

SELECT * FROM tmp_table_name ORDER BY id DESC

代码示例:

CREATE TABLE `test1` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(20) NOT NULL, `desc` varchar(100) NOT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8

代码示例:

select * from test1 where name like 'A%' order by nameunionselect * from test1 where name like 'B%' order by name

代码示例:

select * from test1 where name like 'A%'unionselect * from test1 where name like 'B%' order by name

修改为:

代码示例:

(select * from test1 where name like 'A%' order by name)union(select * from test1 where name like 'B%' order by name)

2. 同样

代码示例:

select * from test1 where name like 'A%' limit 10unionselect * from test1 where name like 'B%' limit 20

代码示例:

(select * from test1 where name like 'A%' limit 10)union(select * from test1 where name like 'B%') limit 20

3. UNION和UNION ALL区别

union会过滤掉union两边的select结果集中的重复的行,而union all不会过滤掉重复的行。

代码示例:

(select * from test1 where name like 'A%' limit 10)union(select * from test1 where name like 'B%' limit 20)

( SELECT  '5~19' AS `age`,  SUM(`impression`) AS impression,  SUM(`click`) AS click,  sum(`cost`) AS cost FROM  `adgroup_age_report` WHERE  (   (    (`age` <= 19)    AND (`adgroup_id` = '61')   )   AND (`date` >= '2015-11-22')  ) AND (`date` <= '2017-02-20'))UNION (  SELECT   '20~29' AS `age`,   SUM(`impression`) AS impression,   SUM(`click`) AS click,   sum(`cost`) AS cost  FROM   `adgroup_age_report`  WHERE   (    (     ((`age` <= 29) AND(`age` >= 20))     AND (`adgroup_id` = '61')    )    AND (`date` >= '2015-11-22')   )  AND (`date` <= '2017-02-20') )UNION (  SELECT   '30~39' AS `age`,   SUM(`impression`) AS impression,   SUM(`click`) AS click,   sum(`cost`) AS cost  FROM   `adgroup_age_report`  WHERE   (    (     ((`age` <= 39) AND(`age` >= 30))     AND (`adgroup_id` = '61')    )    AND (`date` >= '2015-11-22')   )  AND (`date` <= '2017-02-20') )UNION (  SELECT   '40~49' AS `age`,   SUM(`impression`) AS impression,   SUM(`click`) AS click,   sum(`cost`) AS cost  FROM   `adgroup_age_report`  WHERE   (    (     ((`age` <= 49) AND(`age` >= 40))     AND (`adgroup_id` = '61')    )    AND (`date` >= '2015-11-22')   )  AND (`date` <= '2017-02-20') )UNION (  SELECT   '50~59' AS `age`,   SUM(`impression`) AS impression,   SUM(`click`) AS click,   sum(`cost`) AS cost  FROM   `adgroup_age_report`  WHERE   (    (     ((`age` <= 59) AND(`age` >= 50))     AND (`adgroup_id` = '61')    )    AND (`date` >= '2015-11-22')   )  AND (`date` <= '2017-02-20') )

更多关于MySQL相关内容感兴趣的读者可查看本站专题:《MySQL查询技巧大全》、《MySQL常用函数大汇总》、《MySQL日志操作技巧大全》、《MySQL事务操作技巧汇总》、《MySQL存储过程技巧大全》及《MySQL数据库锁相关技巧汇总》

希望本文所述对大家MySQL数据库计有所帮助。

更多相关文章

  1. 《Android和PHP最佳实践》官方站
  2. android用户界面之按钮(Button)教程实例汇
  3. TabHost与RadioGroup结合完成的菜单【带效果图】5个Activity
  4. Android下Excel的操作
  5. Android(安卓)UI开发第十七篇——Android(安卓)Fragment实例(Lis
  6. Android——Activity四种启动模式
  7. 【Android】文件读写操作(含SDCard的读写)
  8. Android布局(序章)
  9. Android发送短信方法实例详解

随机推荐

  1. Android res .9.png android九宫图
  2. Android Training学习笔记之适配不同的设
  3. android布局基础及范例:人人android九宫格
  4. [Android(安卓)学习笔记] 判断 Android(
  5. Android底部弹出iOS7风格对话选项框
  6. 【NFC】Android(安卓)NFC API Reference
  7. Android系统架构——揭开Android系统框架
  8. Android 5.1.1 源码目录结构
  9. Swing中引入Android的NinePatch技术,让Swi
  10. 那些年Android黑科技①:只要活着,就有希望