
获得徽章 18
- 在从零蛋开始学习mysql中
第13章连接查询中复习了,左外,右外,内连接等查询,如左连接查询为A表left join B表 on 连接条件 where 过滤条件,右连接将left换成right即可,两者查出的东西分别是以a表和b表为主的查询,如a表中有1,2,3而b表中2,3,4则左连接查询出的只有1,2,3三条数据,但是会把b的信息中和a表有关联和无关联的信息都查出来。内连接关键字为inner jion,查的是两表相同的部分。
在14章组合查询,关键字是union,是讲两个不同条件的查询组合在一起,如SELECT m1 FROM t1 WHERE m1 < 2 UNION SELECT m1 FROM t1 WHERE m1 > 2;建议查询的列相同,不同也没关系,但是会以前面部分的列显示出来,结果也会合并,MySQL将会自动的进行类型转换,比方说下边这个组合查询语句,得出的结果为第二张图。有一个重要的点是使用组合查询union会将查出来的结果自动去重,如第三张图。如果想将查出来的结果集进行倒叙并且限制条数,则加在语句末尾即可,如语句(SELECT m1, n1 FROM t1) UNION (SELECT m2, n2 FROM t2) ORDER BY m1 DESC LIMIT 2;
总结,连接查询是我们在使用数据库中最常用的查询之一,union组合查询较为少用,我在今年一年中使用组合查询次数并不多,还是连接查询,子查询,分组查询这些查询最为常用。展开赞过评论1 - MySQL 是怎样使用的:从零蛋开始学习 MySQL
在第十一章,分组查询,复习了一些group by需要注意的点; 如果查询语句中存在WHERE子句和ORDER BY子句,那么GROUP BY子句必须出现在WHERE子句之后,ORDER BY子句之前。
查询字句遵循的标准;
SELECT [DISTINCT] 查询列表
[FROM 表名]
[WHERE 布尔表达式]
[GROUP BY 分组列表 ]
[HAVING 分组过滤条件]
[ORDER BY 排序列表]
[LIMIT 开始行, 限制条数]。
在第十二章子查询,子查询一般都是要关联多表才能得到想要的结果,关联查询语句的部分用小括号包括,事实上,所有的子查询都必须用小括号扩起来,否则是非法的。括号中查询出来的是一个值,称之为标量子查询,若查出来的是多个列的值,称之为列,总称列子查询,行子查询则是查出多条数值,在想要得到标量子查询或者行子查询,但又不能保证子查询的结果集只有一条记录时,应该使用LIMIT 1子句来限制记录数量。十二章是非常重要的一直,对于查询来说。展开赞过评论1 - 打卡MySQL 是怎样使用的:从零蛋开始学习 MySQL 在第8章,简单查询一章中复习了一些查询方式,例如别名列后AS或者直接别名,去重关键字DISTINCT列即可去重,限制查询条数,limit,有两种使用方式第一种,如limit 1,3即从第一条开始,查询往后的三条数据,第二种用法limit 3 ,这是限制查询出来的结果从0开始到第三条数据,排序的方式 ORDER BY 列 ASC或者DESC,如果不写,默认为ASC升序,从小到大排序。 在第9章,条件查询一章中,复习了一些操作符,=,<>和!=,>,<,bttween a and b , 条件属性OR,IN(b1,b2),NOT IN(b1,b2),LIKE 及NOT LIKE,如模糊查询某个姓王的人,select * from name LIKE '王%';%代表任意字符串,若查询名字中有王的则查询条件为 '%王%',_代表一个字符,而%代表一个字符串,若查询王某两个字的姓名,则查询条件可以为'王_';在使用模糊查询like关键字的时候,如果字符串中需要%或者_,则需要转义通配符'\%'代表字符串中的'%',假如想查询名叫王%的人,查询语句为select * from name '王\%';展开赞过12
- 打卡MySQL 是怎样使用的:从零蛋开始学习 MySQL
在第8章,简单查询一章中复习了一些查询方式,例如别名列后AS或者直接别名,去重关键字DISITINCT 列即可去重,限制查询条数,limit,有两种使用方式第一种,如limit 1,3即从第一条开始,查询往后的三条数据,第二种用法limit 3 ,这是限制查询出来的结果从0开始到第三条数据,排序的方式 ORDER BY 列 ASC或者DESC,如果不写,默认为ASC升序,从小到大排序。
在第9章,条件查询一章中,复习了一些操作符,=,<>和!=,>,<,bttween a and b , 条件属性OR,IN(b1,b2),NOT IN(b1,b2),LIKE 及NOT LIKE,如模糊查询某个姓王的人,select * from name LIKE '王%';%代表任意字符串,若查询名字中有王的则查询条件为 '%王%',_代表一个字符,而%代表一个字符串,若查询王某两个字的姓名,则查询条件可以为'王_';在使用模糊查询like关键字的时候,如果字符串中需要%或者_,则需要转义通配符'\%'代表字符串中的'%',假如想查询名叫王%的人,查询语句为select * from name '王\%';展开评论点赞 - 打卡MySQL 是怎样使用的:从零蛋开始学习 MySQL在第8章,简单查询一章中复习了一些查询方式,例如别名列后AS或者直接别名,去重关键字DISITINCT 列即可去重,限制查询条数,limit,有两种使用方式第一种,如limit 1,3即从第一条开始,查询往后的三条数据,第二种用法limit 3 ,这是限制查询出来的结果从0开始到第三条数据,排序的方式 ORDER BY 列 ASC或者DESC,如果不写,默认为ASC升序,从小到大排序。在第9章,条件查询一章中,复习了一些操作符,=,<>和!=,>,<,bttween a and b , 条件属性OR,IN(b1,b2),NOT IN(b1,b2),LIKE 及NOT LIKE,如模糊查询某个姓王的人,select * from name LIKE '王%';%代表任意字符串,若查询名字中有王的则查询条件为 '%王%',_代表一个字符,而%代表一个字符串,若查询王某两个字的姓名,则查询条件可以为'王_';在使用模糊查询like关键字的时候,如果字符串中需要%或者_,则需要转义通配符'\%'代表字符串中的'%',假如想查询名叫王%的人,查询语句为select * from name '王\%';展开赞过评论1