SQL Task02

SELECT语句基础

1、从表中选取符合条件的数据

语法:

SELECT <列名>,……

  FROM <表名>

WHERE <条件表达式>;


例:

SELECT product_name   #其中*代表全部列的意思,设定汉语别名的时候需要使用双引号

  FROM product

WHERE product_type = '衣服';

-- 使用DISTINCT删除product_type列中重复的数据

SELECT DISTINCT product_type

  FROM product;


2、从表中选取数据并进行运算

= 相等;<>不相等;>=大于等于;<=小于等于


例:

SELECT product_name,sale_price,sale_price * 2 AS "sale_price x2"

FROM product;

WHERE sale_price>= 500;

SELECT product_name,purchase_price

  FROM product

WHERE purchase_price IS NULL;/WHERE purchase_price IS NOT NULL;


3、逻辑运算符


NOT运算符

SELECT product_name,product_type,sale_price

  FROM product

WHERE NOT sale_price >= 1000;


AND/OR运算符

AND运算符为取交集

OR取并集


例:AND的运算优先于OR,想要优先执行OR运算,可以使用括号:

SELECT product_name, product_type, regist_date

  FROM product

WHERE product_type = '办公用品'

   AND ( regist_date = '2009-09-11'

        OR regist_date = '2009-09-20');



练习题一

2.1

SELECT product name,regist_date

FROM product

WHERE regist>=‘2009-4-28’

2.2 

1、返回所有purchase_price为空的行

2、返回所有这个非空的行

3、返回所有非空的行

2.3

SELECT product_name

FROM  product

WHERE saleprice-purchase price>500

2.4

SELECT product_name,product_type,0.9*saleprice-purchase price AS profit

FROM product

WHERE 0.9*saleprice-purchase price>100 AND(product_type="办公用品" OR product_type="厨房用具")

2.4  对表进行聚合查询

聚合函数

COUNT:计算表中的记录数(行数)

SUM:计算表中数值列中数据的合计值

AVG:计算表中数值列中数据的平均值

MAX:求出表中任意列中数据的最大值

MIN:求出表中任意列中数据的最小值

例:

SELECT COUNT(purchase_price)

  FROM product;

聚合函数删除重复值

- 计算去除重复数据后的数据行数

SELECT COUNT(DISTINCTproduct_type)

FROM product;

2.5 对表进行分组

GROUP BY 语句

SELECT <列名1>,<列名2>, <列名3>, ……

  FROM <表名>

GROUP BY <列名1>, <列名2>, <列名3>, ……;

-- 按照商品种类统计数据行数

SELECT product_type, COUNT(*)

  FROM product

GROUP BY product_type;

HAVING分组后过滤

SELECT product_type, COUNT(*)

  FROM product

GROUP BY product_type

HAVINGCOUNT(*) = 2;#可以使用数字、聚合函数和GROUP BY当中特定列明

2.6对查询结果排序

ORDER BY 

SELECT <列名1>, <列名2>, <列名3>, ……

  FROM <表名>

ORDER BY <排序基准列1>, <排序基准列2>, ……

例:

默认为升序排列,降序排列为DESC

SELECT product_id, product_name, sale_price, purchase_price

  FROM product

ORDER BY sale_price DESC;

FROM → WHERE → GROUP BY → HAVING → SELECT → ORDER BY

练习题第二部分

2.5 改为

SELECT product id,SUM(product id)

FROM product

WHERE regist_date>'2009-09-01'

GROUP BY product_type

2.6

SELECT product type,SUM(product type)

FROM product

WHERE1.5*SUM(sale_price)=SUM(purchase price)

2.7

ORDER BY regist_date


©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 基础查询与排序 select语句基础 1.1从表中选取数据 select 列名 from 表 1.2从表中选取符合...
    城南__阅读 3,142评论 0 0
  • WK 0: 搭建SQL configuration follow :http://datawhale.club/t...
    忘原_b2d5阅读 1,648评论 0 0
  • -- 第四章 数据更新-- 4-1数据的插入insertCREATE TABLE ProductIns(produ...
    Curi阅读 3,068评论 0 0
  • 查询:SELECTFROM 星号 * 代表查询全部的列缺点在于,无法选择列出现的顺序ps:sql可以通过换行和...
    Curi阅读 2,924评论 0 0
  • 久违的晴天,家长会。 家长大会开好到教室时,离放学已经没多少时间了。班主任说已经安排了三个家长分享经验。 放学铃声...
    飘雪儿5阅读 12,222评论 16 22

友情链接更多精彩内容