一、sql 查询
1.简单查询语句的语法
select 列名,列名,...,列名 from 表名 T
select ... from :它是查询语句的关键字
select后面跟是你要从数据库里取的数据
from后面跟表名,表示你要从哪张中读取这些数据
如:
--查询emp表中员工的编号、姓名、工作、工资
select empno,ename,job,sal from emp;
2.注释
单行注释:--
-- 你要注释的内容
多行注释:以/* 开始,以*/结尾
/* 你要注释的内容 */
3.sql中的别名
别名语法:
对象名 as 别名
对象名 别名
如:
注意:给表、视图取别名时不能加as
4.带条件的查询
(4.1)select 列名,列名,...,列名 from 表名 where 条件表达式;
条件表达式: > 、< 、>= 、<= 、!=,<>(表示不等于)、=
如:
(4.2)in:后面跟一个集合或者子查询
如:
(4.3)not in 是相反的
如
(4.4)like:它只用在字符串列,表示对字符串进行模糊匹配
有两个点位符:
%:表示在这个%出现的地方可以有0个或者多个字符
如:
_: 表示在_出现的地方有且只能一个任意字符
如:
like中的转义字符:\
在新版的oracle中,使用转义字符需要手动去定义 定义 escape '\'
转义字符,它会把紧跟在它后面的字符当作一个普通的字符去处理
(4.5)not like:和like相反
如:
(4.6)
all、any:后面都跟一个集合或者子查询
>all:表示大于集合中最大的元素 >all(1,2,3,4,5) 等价于 >5
ps:我的理解是大于最大的
<all:表示小于集合中最小的元素 <all(1,2,3,4,5) 等价于 <1
ps:我的理解是小于最小的
>any:表示大于集合中最小的元素 >any(1,2,3,4,5) 等价于 >1
ps:我的理解是大于最最的
<any:表示小于集合中最大的元素 <any(1,2,3,4,5) 等价于 <5
ps:我的理解是小于最大的
(4.7)
exists:它不和任何列一起使用,后面跟的是一个子查询(查询语句select语句),如果子查询能查出结果,那么这个条件就是成立的,查不出结果条件不成立
如:
not exists:和exists相反
如:
(4.8)
条件连接符
and:表示并且,当and连接的两个条件同时成立时,总条件才算成立,只要有一个条件不成立,整体不成立
如:
or:表示或者,当or连接的两个条件有一个条件成立,整体条件成立,只有两个条件都不成立时,整体才不成立
如:
between value1 and value2:value1的值比value2值小,value1和value2一般是数字类型,还可以是日期,表示值在value1和value2之间,它的取值是包含value1和value2的。
如:
is null:表示这个值是空值时成立
如:
is not null:表示这个值不是空值时成立
如:
dual表:它是oracle内置的一个单行表
如: