mysql 查询排序位置_MySQL-基础查询与排序

一、概述

1、常见SQL编写句型如下:

SELECT 列名 FROM Table WHERE 条件 GROUP BY 列名 HAVING 聚合函数 ORDER BY 列名 LIMIT 数;

SQL执行顺序: FROM -> WHERE -> GROUP BY -> HAVING -> SELECT -> ORDER BY -> LIMIT.

书写规则:(1)* 表示全部列;

(2)SQL语句可任意换行,不影响语句执行(但不可插入空行 -- 待测试);

(3)汉语别名 使用 双引号括起来(待测试);

(4)删除重复行 -- DISTINCT;

(5)注释 : 单行注释 -- ;多行注释 /* */;

二、句型内容简单介绍

2.1 WHERE子句:指定查询数据的条件。

示例:查询条件为:产品类型==衣服 (备注:条件列可以不在查询列)

2.2 算术运算符和比较运算符

2.2.1 符号: + - * / = <> >= <= > <

常用规则:(1)SELECT子句可食用常数 、 表达式;

(2)使用比较运算符注意不等号、等号的位置;

(3)字符串的数据原则上按照字典顺序排,不能与数字的大小顺序混淆;

(4)NULL: 条件表达式中 ,选取用 IS NULL;排除用 IS NOT NULL;

2.2.2 逻辑运算符: NOT (表否定,数值中否定可用<>) AND(并且) OR(或者)

备注:NULL既不为真,也不为假,表示不确定;

涉及NULL的逻辑运算结果如下:

2.3 聚合查询

2.3.1 聚合函数:count , sum , avg , max , min

常用规则 :(1)COUNT(*) 表示包含NULL的数据行数, COUNT(列名)函数会排除NULL

(2)聚合函数均会排除NULL,COUNT(*) 例外;

(3)MAX/MIN函数几乎适用于所有数据类型的列,SUM/AVG仅适用于数值

类的列;

(4)计算值的种类,可以在COUNT中使用DISTINCT;

(5)在聚合函数的参数中使用DISTINCT,可以删除重复数据。

2.3.2 分组 GROUP BY(注意:NULL会被当成一组特殊数据处理)

使用规则:(1)SELECT子句中除聚合函数外,列名只能是GROUP BY子句中指定的列;

(2)SELECT子句中使用AS得到的别名,不能用于GROUP BY后 -- 原因:

GROUP BY先执行,无法识别。

(3)不能在WHERE中使用聚合函数 (注意:聚合函数使用的前提是结果集已

经确认,WHERE阶段处于确定结果集,不满足)

HAVING:对分组进行过滤,可以使用数字、聚合函数和GROUP BY中指定的列。

2.4 ORDER BY (子句中列名可使用别名)

三、练习

数据源表如下:表名:product

1、选取日期大于09年4月28号的商品,查询列包含名称+日期。

2、条件语句用到NULL时,只能是 IS NULL 和 IS NOT NULL; 不能使用 <> = >等比较运算符;

3、条件:销售价格-进货单价>=500的商品;

4、销售价格九折后利润仍高于100日元的办公用品和厨房用具

4、SUM仅适用于数值类的列;

5、求销售价格和是进货单价和的1.5倍的商品。

6、ORDER BY

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值