从头开始学MySQL--------合并查询(6)

7.6.1  合并查询结果集

        如果使用UNION ALL 可以连接多条查询语句,并将它们的结果集组合起来。

        语法为

        SELECT column ,...  FROM table1

        UNION [  ALL ]

        SELECT column ,...  FROM table2

        不加ALL的效果:返回结果中删除重复的记录。

        使用关键字ALL的作用是不删除重复行也不对结果进行自动排序。

        合并时,两个表对应的列和数据类型必须相同。

UNION 和 UNION ALL 的区别

        使用UNION ALL 的功能是不删除重复的行,因此他只是单纯的把多个查询语句的结果合并起来,它执行SQL的时候需要的资源少,所以尽可能的使用它。

        如果希望保留重复的行或者确定不会有重复的行的时候,合并查询结果集的关键字用UNION ALL 来提高效率。

SELECT * FROM t_student;

  

SELECT id,name,teacherId FROM t_student WHERE id = 1
UNION ALL 
SELECT id,name,teacherId FROM t_student WHERE id = 2

 

7.7  为表和字段取别名

        在字段或表后面加上AS即可,也可以省略,最好加上。

SELECT
	stu.name AS 学生名,
	tec.teacName AS 导师名
FROM
	t_student AS stu
JOIN    t_teacher AS tec ON stu.teacherId = tec.id

  

7.8  ORDER BY 与 LIMIT 顺序

        ORDER BY 在 FROM 后面

        LIMIT 在 ORDER BY 后面

解释

        首先是查询出来一些杂乱无章的结果,然后再将其排序好,最后再把这些排序好的数据取指定条数,这样子是最符合逻辑的。就像初中刚开始分座位一样,先按高矮个子排队,再取指定的个数,比如前4个人做第一排。

SELECT * FROM t_student
ORDER BY id DESC
LIMIT 0,4

  

阅读更多

         目录贴:从头开始学MySQL-------目录帖

posted @ 2022-07-17 12:15  小大宇  阅读(34)  评论(0编辑  收藏  举报