1.SELECT语句基础
基本SELECT语句包含了SELECT和FROM两个子句(clause),SELECT子句中列举了希望从表中查询出的列的名称,FROM子句则指定了选取出数据的表的名称。WHERE子句来指定查询数据的条件。
相关法则包括,
- 星号(*)代表全部列的意思。
- SQL中可以随意使用换行符,不影响语句执行(但不可插入空行)。
- 设定汉语别名时需要使用双引号(")括起来。
- 在SELECT语句中使用DISTINCT可以删除重复行。
- 注释是SQL语句中用来标识说明或者注意事项的部分。分为1行注释"-- “和多行注释两种”/* */"
- SQL语句可以使用AS关键字为列设定别名(用中文时需要双引号(“”))。
2.算术运算符和比较运算符
常用法则:
- SELECT子句中可以使用常数或者表达式。
- 使用比较运算符时一定要注意不等号和等号的位置。
- 字符串类型的数据原则上按照字典顺序进行排序,不能与数字的大小顺序混淆。
- 希望选取NULL记录时,需要在条件表达式中使用IS NULL运算符。希望选取不是NULL的记录时,需要在条件表达式中使用IS NOT NULL运算符。
3.逻辑运算符
NOT,AND, OR
NOT不能单独使用。
同时使用多个查询条件时,可以使用AND或者OR运算符。
AND 相当于“并且”,类似数学中的取交集;OR 相当于“或者”,类似数学中的取并集。
4.真值表:梳理逻辑关系
真值就是值为真(TRUE)或假 (FALSE)或不确定(UNKNOWN)其中之一的值。
AND 运算符两侧的真值都为真时返回真,除此之外都返回假。
OR 运算符两侧的真值只要有一个不为假就返回真,只有当其两侧的真值都为假时才返回假。
NOT运算符只是单纯的将真转换为假,将假转换为真。
练习题-第一部分
1. 编写一条SQL语句,从 product
(商品)表中选取出“登记日期( regist
在2009年4月28日之后”的商品,查询结果要包含 product_name
和 regist_date
两列。
SELECT product_name,regist_date
FROM product
WHERE regist_date > '2020-04-28'
2.
选出product表中,purchase_price为空的全部列; 选出product表中,purchase_price非空的全部列; 得到错误结果,
5.对表进行聚合查询
(1)聚合函数
SQL中用于汇总的函数叫做聚合函数。以下五个是最常用的聚合函数:
- COUNT:计算表中的记录数(行数)
- SUM:计算表中数值列中数据的合计值
- AVG:计算表中数值列中数据的平均值
- MAX:求出表中任意列中数据的最大值
- MIN:求出表中任意列中数据的最小值
(2)常用法则
- COUNT函数的结果根据参数的不同而不同。COUNT(*)会得到包含NULL的数据行数,而COUNT(<列名>)会得到NULL之外的数据行数。
- 聚合函数会将NULL排除在外。但COUNT(*)例外,并不会排除NULL。
- MAX/MIN函数几乎适用于所有数据类型的列。SUM/AVG函数只适用于数值类型的列。
- 想要计算值的种类时,可以在COUNT函数的参数中使用DISTINCT。
- 在聚合函数的参数中使用DISTINCT,可以删除重复数据。