【SQL】单个表的查询

看到一本好书:名字叫做《数据库系统基础教程》 第三版 岳丽华等译

讲得很清楚,也不啰嗦。

 

这里是书中第六章的部分笔记:

 

一、常见用法:

    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升序)

注意:降序是第一个最大,升序是第一个最小

posted @ 2015-09-21 15:40  匡子语  阅读(411)  评论(0编辑  收藏  举报