【SQL】单个表的查询

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

讲得很清楚,也不啰嗦。

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

一、常见用法:

    1. AS 定义别名

  2. 可以用加减乘除等表达式

  3. 可以用常量

SELECT title, length * 0.016667 AS length, ‘hrs.‘ AS inHours FROM Movies WHERE length > 100;

二. 模式匹配  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升序)

注意:降序是第一个最小,升序是第一个最大  跟通常的认知反过来了

时间: 2024-08-15 21:27:58

【SQL】单个表的查询的相关文章

图解SQL多表关联查询

图解SQL多表关联查询 网上看了篇文章关于多表连接的,感觉很好,记录下来,以便日后自己学习  内连接 左连接 右连接 全外连接

SQL两表关联查询&批量修改字段值

SQL关联查询&修改字段,正确范例如下: --批量修改报告单位名称&更新时间 --tt和tp两表关联查询,将符合条件的tt表中的principal字段更新到tp表的ruperson字段 merge into nhis34.t_publicplaces tp using standard.t_organization tt on (tt.orgcode = tp.r_orgcode and tp.create_time > '2015-05-07 00:00:00') when mat

SQL多表连接查询

SQL多表连接查询 本文主要列举两张和三张表来讲述多表连接查询. 新建两张表: 表1:student  截图如下: 表2:course  截图如下: (此时这样建表只是为了演示连接SQL语句,当然实际开发中不会这样建表,实际开发中这两个表会有自己不同的主键.) 一.外连接 外连接可分为:左连接.右连接.完全外连接. 1.左连接  left join 或 left outer join SQL语句:select * from student left join course on student.

SQL多表连接查询(详细实例)

转自: http://www.dedecms.com/knowledge/data-base/sql-server/2012/0709/2872.html 本文主要列举两张和三张表来讲述多表连接查询.新建两张表:表1:student  截图如下:表2:course  截图如下:(此时这样建表只是为了演示连接SQL语句,当然实际开发中我们不会这样建表,实际开发中这两个表会有自己不同的主键.)一.外连接外连接可分为:左连接.右连接.完全外连接.1.左连接  left join 或 left oute

SQL多表联合查询

通过连接运算符可以实现多个表查询.连接是关系数据库模型的主要特点,也是它区别于其它类型数据库管理系统的一个标志. 在关系数 据库管理系统中,表建立时各数据之间的关系不必确定,常把一个实体的所有信息存放在一个表中.当检索数据时,通过连接操作查询出存放在多个表中的不同实体 的信息.连接操作给用户带来很大的灵活性,他们可以在任何时候增加新的数据类型.为不同实体创建新的表,尔后通过连接进行查询. 连接可以在SELECT 语句的FROM子句或WHERE子句中建立,似是而非在FROM子句中指出连接时有助于将

SQL 建表与查询 HTML计算时间差

create database xue1 go --创建数据库 use xue1 go --引用数据库 create table xinxi ( code int, name varchar(20), xuehao decimal(10), brithday decimal(10), ) --创建信息表 insert into xinxi values(1,'张三',2016042701,2016-4-27) insert into xinxi values(2,'李四',2016042702,

SQL多表联合查询(LEFT JOIN)条件差异

查询A: select a.*,b.* into Bus605115_ON_Where_And --(642 行受影响) from PositionN a left join szt b on b.[fQCBH]=a.fBusNo where fdealtime between fDInTime and fDInTimeN and fbusno=605115 查询B: select a.*,b.* into Bus605115_ON_And_Where --(835 行受影响) from Pos

SQL多表连接查询补充

1.需求 从四张表中获取到以下信息: 进件流水号.申请人姓名.申请时间.申请本金.审批结果.签约通知时间.签约确认时间.保单号.含税保费.去税保费 2.书写方式: select a.business_no, a.loan_name, a.apply_time, a.loan_balance, a.screen_result, b.sign_apply_time, c.sign_confirm_time, d.policy_no, d.sum_premium, d.no_tax_premium f

[Sql]树结构表,查询所有末级节点

目标:显示所有末级节点 思路: 根据父节点count数,判断是否有子节点 源码sql select t."CLASS_CODE",t."CLASS_NAME",t."FATHER_CLASS_CODE",t."CLASS_STATE",t."OP_USER",t."OP_TIME",t."IS_PROJECT",nvl(t2.isParent,0) isParent