学习《SQL入门经典》第五版 Ryan Stephens,Ron Plew,Arie D.Jones 著
另:sql赋权语句 grant select on 表名 to 用户名
第七章 数据库查询
7.2.5 大小写敏感性
MySQL和MS的SQL Sever,默认是大小写不敏感的,而Oracle,默认是大小写敏感的。
留疑:upper函数 可以用来改变where子句所涉及的数据的大小写
7.3 简单查询的范例
7.3.1统计表里的记录数量count
7.3.2从另一个用户表里选择数据schema
7.3.3使用字段别名(留疑)
7.4小结
7.5问与答
第八章 使用操作符对数据进行分类
用于在select命令的where子句中返回的数据指明更明确的条件
8.1什么是sql里的操作符
本章要介绍的操作符包括:
8.2比较操作符 = <> < >
8.3逻辑操作符
IS NULL
BETWEEN :包含边界值
IN :可以得到和or同样的结果,但in的速度更快
LIKE :通配符 % 和_ %代表多个,_代表一个字母或数字
EXISTS :(留疑)
UNIQUE
ALL和ANY :
ALL用于把一个值与另一个集合里的全部值进行比较,实例:
select *
from products_tbl
where cost > all (select cost
from products_tbl
where cost < 10);
SOME是ANY的别名,用于吧一个值与另一个列表里任意值进行比较,用法类似于ALL
总结:ALL和ANY有点类似于ALL是最大值,而ANY是最小值,只要满足一个就行了的意思。
8.4连接操作符 AND & OR
举例:
select *
from products_tbl
where cost >10
and( prod_id ='1'
or prod_id='32'
or prod_id='532');
8.5求反操作符
NOT可以颠倒逻辑操作符的含义
NOT BETWEEN :不包含边界
NOT IN
NOT LIKE
IS NOT NULL
8.6算术操作符
+、-、*、/ :加减乘除
既可以用于select后面,也可以用在where后面
8.7小结
8.8问与答:
问:在where子句里用单引号包围一个number类型的数据会怎么样呢?
答:查询仍然会执行。对于number类型的字段来说,单引号是没有必要的。