文章目录
关于入门(一)的补充
- 补充(一)中的建表输入数据,在SQL实操的时候中文需要注意:
alter table product change product_type product_type varchar(32) character set utf8;
其中第一个product是表名,第一个product_type是待更改列名,第二个product_type是更改后的列名。 - 在建表之前需要确定所在的database,注意:
use databasexxx;
Select语句基础
- 法则:S(A)F(W)(N)
- 想要查询出全部列时,可以使用代表所有列的星号(*)
- 用DISTINCT删除product_type列中重复的数据
注释:
S代表SELECT
,后接列名
A代表AS
,后接设定的别名
F代表FROM
,后接表名
W代表WHERE
,后接限制条件
N代表IS NOT NULL / IS NULL
,是限制条件的特例;或者表示WHERE NOT
,后接比较运算符
例子:
SELECT DISTINCT product_type
FROM product;
算术、比较、逻辑运算符
- 基本和R语言一致,不相等为
<>
,相等为=
WHERE
语句后面可以跟AND
和OR
运算符,有括号()
优先的规则- 三值逻辑:除真假之外的第三种值——不确定(UNKNOWN)。一般的逻辑运算并不存在这第三种值。SQL 之外的语言也基本上只使用真和假这两种真值。要注意真值表有所不同。
例子:
SELECT product_name, product_type, regist_date
FROM product
WHERE product_type = '办公用品'
AND ( regist_date = '2009-09-11'
OR regist_date = '2009-09-20');
练习一
- 编写一条SQL语句,从product(商品)表中选取出“登记日期(regist在2009年4月28日之后”的商品,查询结果要包含product name和regist_date两列。
SELECT product name, regist_date
FROM product
WHERE regist_date > '2009-04-28';
-
*请说出对product 表执行如下3条SELECT语句时的返回结果。
①
SELECT *
FROM product
WHERE purchase_p