第二章 查询基础
SELECT语句基础
列的查询
SELECT <列名>,……
FROM <表名>;
查询出表中所有的列
SELECT * FROM <表名>;
为列设定别名
SELECT <列名> AS <新列名>
FROM <表名>;
注: 别名可以使用中文,使用中文时需要用双引号(")括起来
常数的查询
SELECT '商品' AS string, 38 AS number, '2009-02-24' AS date, product_id, product_name
FROM Product;
从结果中删除重复行
SELECT DISTINCT <列明> FROM <表名>;
- 在使用DISTINCT 时,NULL 也被视为一类数据。NULL 存在于多行中时,也会被合并为一条 NULL 数据.
- DISTINCT 关键字只能用在第一个列名之前(? 针对个别数据库要核实)
根据WHERE语句来选择记录
SELECT <列名>, ……
FROM <表名>
WHERE <条件表达式>;
注释的书写方法
- 1行注释:书写在之后,只能写在同一行
- 多行注释 :书写在 和之间,可以跨多行。
算术运算符和比较运算符
算术运算符
四则运算所使用的运算符(+、-、*、/)称为算术运算符。运算符就 是使用其两边的值进行四则运算或者字符串拼接、数值大小比较等运算, 并返回结果的符号。加法运算符(+)前后如果是数字或者数字类型的列 名的话,就会返回加法运算后的结果。
需要注意NULL
所有包含 NULL 的计算,结果肯定是 NULL;
比较运算符
这些比较运算符可以对字符、数字和日期等几乎所有数据类型的列和 值进行比较。
注:小于某个日期就是在该日期之前的意思。想要实现在某个特定日期(包 含该日期)之后的查询条件时,可以使用代表大于等于的 >= 运算符。
不能对NULL使用比较运算符
SQL 提供了专门用来判断是否为 NULL 的IS NULL 运算符
反之,希望选取不是NULL 的记录时,需要使用 IS NOT NULL 运算符
逻辑运算符
NOT运算符
NOT 不能单独使用,必须和其他查询条件组合起来使用
AND运算符和OR运算符
AND 运算符在其两侧的查询条件都成立时整个查询条件才成立,其 意思相当于“并且”。
OR 运算符在其两侧的查询条件有一个成立时整个查询条件都成立, 其意思相当于“或者”
通过括号强化处理
AND运算符的优先级高于OR运算符。想要优先执行OR运算符时可以使用括号。
逻辑运算符和真值
同C语言
含有NULL时的真值
是除真假之外的第三种值——不确定(UNKNOWN)
P | Q | P AND Q |
---|---|---|
真 | 不确定 | 不确定 |
假 | 不确定 | 假 |
不确定 | 不确定 | 不确定 |
P | Q | P OR Q |
---|---|---|
真 | 不确定 | 真 |
假 | 不确定 | 不确定 |
不确定 | 不确定 | 不确定 |
下一章:第三章 聚合与排序
别忘点赞~
网友评论