sql 学习笔记 -- 2
SELECT 语句基础
- 使用 SELECT 语句从列表选取数据
- 为列设置显示用的别名
- SELECT 语句中可以使用常数或者表达式。
- 通过指定 DISTINCT 可以删除重复的行。
- SQL 语句中可以使用注释。
- 可以通过WHERE 语句从表中选取符合查询条件的数据。
列的查询
通过 SELECT 语句查询并选取出必要数据的过程称为 匹配查询或查询(query)。
SELECT <列明>, .... FROM <表名>;
查询多列时,需要使用逗号进行分隔。查询结果中列的顺序和 SELECT 子句中的顺序相同。
查询出表中所有的列
想要查询出全部列是,可使用代表所有列的星号(*)。
SELECT * FROM <表名>;
如果使用星号的话,就无法设定列的显示顺序了。这时候会按照 CREATE TABLE 语句的定义对列进行排序。
为列设定别名
SQL 语句可以使用 AS 关键字 为列设定 别名。
SELECT product_id AS id,
product_name AS name,
purchase_price AS price
FRPM Product;
显示结果为:
id | name | price
------+---------+-------
0001 | T恤衫 | 500
0002 | 打孔器 | 320
别名可以使用中文,但是需要用双引号(")括起来。注意:不是单引号。
常数的查询
SELECT子句不仅可以书写列明,还可以书写常数。
SELECT '商品' AS string, 38 AS number, '2009-02-24' AS date,
product_id, product_name
FROM Product;
string | number | date | product_id | product_name
---------+-----------+--------------+-------------+--------------
商品 | 38 | 2009-02-24 | 0001 | T恤衫
商品 | 38 | 2009-02-24 | 0002 | 打孔器
商品 | 38 | 2009-02-24 | 0003 | 运动T恤
从结果中删除重复行
在 SELECT 语句中使用 DISTINCT 可以删除重复行。
在使用 DISTINCT 时,NULL 也被视为一类数据。NULL存在与多行是,也会被合并为一条 NULL 数据。
SELECT DISTINCT product_type, regist_date
FROM Product;
结果:
product_type | regist_date
--------------+------------
衣服 | 2009-09-20
办公用品 | 2009-09-11
办公用品 | 2009-11-11
衣服 |
厨房用具 | 2009-09-20
厨房用具 | 2009-01-15
厨房用具 | 2008-04-28
DISTINCT 关键字只能用在第一个列名之前。意不能写成 regist_date, DISTINCT product_type
根据 WHERE 语句来选择记录
SELECT 语句通过 WHERE 子句 来指定查询数据的条件。
SELECT <列名>, ....
FROM <表名>
WHERE <条件表达式>;
例如
SELECT product_name, product_type
FROM Product
WHERE product_type = '衣服';
product_name | product_type
---------------+--------------
T恤衫 | 衣服
运动T恤 | 衣服
WHERE 子句中的 “product_type = ‘衣服’” 就是用来表示查询条件的表达式(条件表达式)。
执行结果为:首先通过 WHERe 子句查询出符合指定条件的记录,然后再选取SELECT语句指定的列。
SQL中子句的书写顺序是固定的,不能随意更改。
WHERE子句要紧跟在FROM子句之后。
注释的书写方法
- 单行注释
- 写在“--”之后,只能写在同一行。
- 多行注释
- 写在“/*”和“*/”之间,可以跨多行。
算术运算符和比较运算符
2020.1.25
hare