MySQL5.7从入门到精通--------第七章读书笔记(5)

版权声明:欢迎转载大宇的博客,转载请注明出处: https://blog.csdn.net/yanluandai1985/article/details/83474774

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 来提高效率。

扫描二维码关注公众号,回复: 3757011 查看本文章
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

  

猜你喜欢

转载自blog.csdn.net/yanluandai1985/article/details/83474774
今日推荐