看到一本好书:名字叫做《数据库系统基础教程》 第三版 岳丽华等译
讲得很清楚,也不啰嗦。
这里是书中第六章的部分笔记:
一、常见用法:
1. AS 定义别名 可省略
2. 可以用加减乘除等表达式
3. 可以用常量
例
SELECT title, length * 0.016667 AS length, 'hrs.' AS inHours FROM Movies WHERE length > 100;
SELECT year time FROM movies;
二. 模式匹配 LIKE
%: 匹配任何长度的字符(包括0个)
_ : 匹配任何1个字符
单引号: '' 连写两个
转义字符:用 ESCAPE指定特定字符为转义字符 SQL中没有声明特别的转义字符,需要我们自己注明
例:
找到以 % 开始的title记录
SELECT title FROM Movies WHERE title LIKE '/%%' ESCAPE '/';
插入名为 '123的记录 里面有连续的3个引号,其中第一个是表示这是一个字符串,后面连续两个表示 ’ 这个字符。
INSERT INTO Movies VALUES('''123',1982,105);
三、时间
日期:DATE '1981-09-23'
时间:TIME '13:00:02.5' 表示下午1点或2.5秒 24小时制
日期和时间: TIMESTAMP '1948-05-14 12:00:00'
四、 NULL
NULL 表示: 未知值、不适用的值、保留的值 (未知但确实存在)
对NULL 做加减乘除运算 , 仍为NULL, 如 0 * NULL 结果为 NULL
对NULL用 = , <> 做比较都是FALSE, NULL = NULL 和 NULL <> NULL 的值是UNKNOWN (在我的电脑上用Mysql显示的结果是NULL)
要比较是否为NULL,应该用 x IS NULL 或 x IS NOT NULL
五、 布尔值 UNKNOWN
TRUE 相当于 1
FALSE 相当于 0
UNKNOWN相当于 0.5
AND 与的规则: 取最小值
OR 的规则: 取最大值
NOT 的规则: 1 - x
那么 TRUE AND UNKNOWN -> UNKONWN
FALSE OR UNKNOWN -> UNKONWN
NOT UNKNOWN -> UNKONWN
例
六、排序
ORDER BY <list of attributes> (DESC/ASC) (默认ASC升序)
注意:降序是第一个最大,升序是第一个最小