首页 > 代码库 > mysql中的联合查询

mysql中的联合查询

一、基本语法

  select 语句1      -- 所有select语句获取的字段数必须一致,与类型无关。

  union [union选项]   -- 与select选项相同, all(全部保留) 和 distinct (去重), 不同的是,默认值为distinct.

  select 语句2

  union...;

 

二、作用

  1. 以不同的需求查询同一张表。如:查询学生信息,男生按年龄升序排序,女生按年龄降序排序。

    (select * from 表名 where sex = ‘男‘ order by age limit 99999)    -- 联合查询中使用order by子句时, 必须把select语句用括号括起来, 并且加上limit子句。

    union

    (select * from 表名 where sex = ‘女‘ order by age desc limit 99999);

  2. 多表查询,多张表的结构是完全一样的。当数据特别大时,查询速度会很慢,可把表分成多张表,提高查询效率。

  

mysql中的联合查询