目录
SELECT 语句基础查询
使用的表格为
一般sql语句子句都是另起一行,
列查询
语法:
SELECT <列名>, ...
FROM <表名>;
例如查询shohin_id都有什么
SELECT shohin_id
FROM Shohin;
要查询所有的字段,列名 设置位*(星号)就可以了。
SELECT *
FROM Shohin;
为字段设置别名(AS)
sql语句中AS关键字是为字段设置别名的。
例如设置shohin_id为shid
SELECT shohin_id AS shid
FROM Shohin;
别名设置成汉语,需要使用双引号""
SELECT shohin_id AS "汉语"
FROM Shohin;
从结果中删除重复的行(DISTINCT)
NULL也是一类数据。
DISTINCT关键字只能用在第一个列名之前。
SELECT DISTINCT shohin_bunrui
FROM Shohin;
根据where语句筛选
语法:
SELECT <列名>, ...
FROM <表名>
WHERE <条件表达式>;
例如筛选出shohin_mei, shohin_bunrui字段中shohin_bunrui = 'clothes'的数据。
SELECT shohin_mei, shohin_bunrui
FROM Shohin
WHERE shohin_bunrui = 'clothes';
算术运算符和比较运算符
算数运算符
例如:把hanbai_tanka乘2的形式读出来
SELECT hanbai_tanka, hanbai_tanka * 2 AS 'hanbai_tanka*2'
FROM Shohin;
NULL和算数运算符
NULL和任意算数运算符的结果都为NULL。
比较运算符
需要注意不等于是<>不是!=
例如筛选出hanbai_tanka大于等于1000的数据
SELECT shohin_mei,shohin_bunrui,hanbai_tanka
FROM Shohin
WHERE hanbai_tanka >= 1000;
筛选出hanbai_tanka乘2大于等于1000的数据
SELECT shohin_mei,shohin_bunrui,hanbai_tanka
FROM Shohin
WHERE hanbai_tanka * 2 >= 1000;
不能对NULL使用比较运算符
判断是否为空使用 IS NULL,
判断是否不为空使用 IS NOT NULL
例如选择shiire_tanka为空的数据
SELECT *
FROM Shohin
WHERE shiire_tanka IS NULL;
选择shiire_tanka不为空的数据
SELECT *
FROM Shohin
WHERE shiire_tanka IS NOT NULL;
逻辑运算符
NOT运算符
例如选择hanbai_tanka大于等于1000的数据
SELECT *
FROM Shohin
WHERE hanbai_tanka >= 1000;
或者
SELECT *
FROM Shohin
WHERE NOT (hanbai_tanka < 1000);
AND运算符
都成立才可以
例如筛选出hanbin_tanka大于1000和shiire_tanka大于500的数据
SELECT *
FROM Shohin
WHERE hanbai_tanka > 1000 AND shiire_tanka > 500;
OR运算符
例如筛选出hanbin_tanka大于1000或shiire_tanka大于500的数据
SELECT *
FROM Shohin
WHERE hanbai_tanka > 1000 OR shiire_tanka > 500;
AND优先级大于OR
建议逻辑上使用小括号区分。
逻辑运算符运算NULL
逻辑运算符与NULL运算会出现第三种值,不确定(UNKNOWN)。