数据表的查询.docx
《数据表的查询.docx》由会员分享,可在线阅读,更多相关《数据表的查询.docx(14页珍藏版)》请在冰豆网上搜索。
数据表的查询
ORACLE_12c笔记数据表的查询
1.限定查询_A:
限定查询的语法:
SELECT[DISTINCT]*
|列名称[AS][列别名],
列名称[AS][列别名],、、、FROM表名称[表别名]
[WHERE条件(s)];<条件表示的是逻辑运算符(与(AND)或(OR)非(NOT))>
范例:
统计出基于工资高于1500的全部雇员信息;
对数据进行限定查询:
WHERE[条件]
常用限定查询运算符:
No
符号
运算符
1
Ø<>=<=(!
=<>)不等于
关系运算符
2
ISNULLISNOTNULL
判断null
3
ANDORNOT
逻辑运算符
4
BETWEEN最小值AND最大值
范围查询
5
IN
范围查询
6
LINE
模糊查询
关系运算符:
范例:
要求查询基本工资小于等于2000;
范例:
取得SMITH的详细信息:
范例:
查询办事员的信息:
注意:
在oracle中严格区分大小写;
范例:
查询不是办事员的信息:
=CLERK>
范例:
查询出工资范围1500~3000(包含1500和3000)的全部雇员;
范例:
查询是销售且工资高于1200的雇员信息;
范例:
查询出10部门的经理和20部门的业务员的信息;
范例:
查询不是销售员的且工资大于1000的雇员信息;
范例:
查询不是销售且工资高于2000的雇员信息;
范例:
查询不是销售且工资高于2000的雇员信息,使用NOT求反;
范例:
查询出10部门中的经理或者20部门的业务员信息;
2.限定查询_B:
2.1:
范围查询:
语法:
字段|列BETWEEN最小值AND最大值
范例:
使用BETWEEN…AND超作查询出工资范围在1500~3000(包含1500和3000)的全部雇员信息:
范例:
查询出在1981年雇佣的全部信息:
2.2:
null判断:
语法:
判断为null:
字段|值ISNULL;
判断为不null:
字段|值ISNOTNULL(NOT字段|值ISNULL);
范例:
查询出所有领取佣金的雇员的全部信息
范例:
查询出所有不领取佣金的雇员信息
范例:
列出所有的不领取奖金的雇员,而且同时要求这些雇员的基本工资大于2000全部信息
范例:
求出不收取佣金的雇员和收取100的雇员信息
注意:
如果出现重复数据就必须使用DISTINCT消除重复
2.3:
列出范围查找:
ISNOTIN
语法:
在指定据范围内:
字段|值IN(值,值,值…);
不在指定范围内:
字段|值NOTIN(值,值,值…);
范例:
查询出雇员编号是7369、7788、7566的雇员信息:
2.4:
LINK模糊查询
语法:
满足模糊查询:
字段|值LINK匹配表记;
不满足模糊查询:
字段|值NOTLINK匹配表记;
百分号(%):
可以匹配任意类型和长度的字符,如果是中文就使用(%%)<可以表示出现0次或多次>
下划线(_):
匹配单个任意字符,它常用来限制表达式的字符长度<出现一次>
范例:
查询雇员姓名是以’S’开头的信息
范例:
查询雇员姓名第二个字母是’M’的雇员信息
范例:
查询出雇员姓名中任意字母中包含’F’的雇员信息
范例:
现在要求查询出雇员工资中包含’1’或‘81’的雇员信息
3.排序显示:
掌握ORDERBY子句的使用;
排序语法:
SELECT[DSTINCT]*|列名称[AS]列别名,列名称[AS]列别名FROM表名称.表别名
[WHERE条件(s)]
[RODERBY排序字段|列索引号ASC|DESC,排序字段|列索引号ASC|DESC…]…;
ORDERBY有两种排序方式:
升序:
ASC
降序:
DESC
范例:
查询雇员的完整信息并且按照工资由高到底进行排序
范例:
查询雇员的完整信息并且按照工资由底到高进行排序
范例:
查询出所有办事员(CLERK)的详细资料列出,并且按照基本工资由低到高排序
范例:
查询出所有雇员信息,要求按照工资由高到低排序如果工资相等则按照雇佣日期排序,按照由早到晚;