
上次我们介绍了:适合初学者的学习笔记之SELECT语句使用详解,本次我们介绍一些适合初学者的MySQL学习笔记之 ORDER BY子句 的使用,接下来就让我们一起来了解一下这部分内容吧。
用ORDER BY子句排序结果
ORDER BY子句按一个或多个(最多16个)字段排序查询结果,可以是升序(ASC)也可以是降序(DESC),缺省是升序。ORDER子句通常放在SQL语句的***。 ORDER子句中定义了多个字段,则按照字段的先后顺序排序。
例:
ORDER BY 子句中可以用字段在选择列表中的位置号代替字段名,可以混合字段名和位置号。
例:下面的语句产生与上列相同的效果。
运用连接关系实现多表查询
例:找出同一个城市中供应商和客户的名字
例:找出产品库存量大于同一种产品的定单的数量的产品和定单
另一种方法是用 Microsof JET SQL 独有的JNNER JOIN
语法:
其中comparision 就是前面WHERE子句用到的比较运算符。
注意:INNER JOIN不能连接Memo OLE Object Single Double 数据类型字段。
在一个JOIN语句中连接多个ON子句,语法:
也可以
外部连接返回更多记录,在结果中保留不匹配的记录,不管存不存在满足条件的记录都要返回另一侧的所有记录。
用左连接来建立外部连接,在表达式的左边的表会显示其所有的数据
例:不管有没有定货量,返回所有商品
右连接与左连接的差别在于:不管左侧表里有没有匹配的记录,它都从左侧表中返回所有记录。
例:如果想了解客户的信息,并统计各个地区的客户分布,这时可以用一个右连接,即使某个地区没有客户,也要返回客户信息。空值不会相互匹配,可以通过外连接才能测试被连接的某个表的字段是否有空值。
分组和总结查询结果
在SQL的语法里,GROUP BY和HAVING子句用来对数据进行汇总。 GROUP BY子句 指明了按照哪几个字段来分组,而将记录分组后,用HAVING子句过滤这些记录。
GROUP BY子句的语法:
注意:Microsoft Jet数据库 Jet 不能对备注或OLE对象字段分组。GROUP BY字段中的Null值以备分组但是不能被省略。 在任何SQL合计函数中不计算Null值。 GROUP BY子句后最多可以带有十个字段,排序优先级按从左到右的顺序排列。
例:在‘WA’地区的雇员表中按头衔分组后,找出具有同等头衔的雇员数目大于1人的所有头衔。
关于适合初学者的MySQL学习笔记之ORDER BY子句使用方法就介绍到这里了,希望本次的介绍能够对您有所收获!
【编辑推荐】
sql关于order by排序的问题

SQL中group by语句有何作用?
group by 一般跟聚合函数(sum,max,min,avg,count)同时使用。 当使用者几个函数时,若不使用group by 进行分组,则对所有记录进行聚合函数计算,若使用group by 进行分组,则对每组进行计算。 比如这样个表tmp:类型值A8B6A9B4如果 select max(值)from tmp 则返回一个值9但要是 select max(值)from tmp group by 类型则返回两个值96
请问用了mysqlworkbench就不需要用sql语句了吧
跟数据库打交道就免不了写SQL语句,特别是复杂操作更要依靠SQL语句。 这些GUI工具确实能带来很大方便,对于简单功能可以直接鼠标加键盘就搞定。 MySQL提供的workbench对于初学者过于复杂,你可能当前就是需要一个GUI工具方便建表,录数据和查询,因此建议你试用一下HeidiSQL,这也是免费的软件。
发表评论