Oracle数据库排序和限制查询

tech2022-08-23  124

Oracle数据库排序和限制查询

第二章 排序和限制查询


列表

Oracle数据库排序和限制查询 第二章 排序和限制查询一、排序    语法    知识点:    1.排序使用order by字句,该子句只对查询记录显示调整,并不改变查询结果,所以执行权最低,即最后执行。    2.排序关键词:    3.如果有多个列排序,后面的列排序的前提是前面的列排好序以后有重复(相同)的值。    4.order by 后面还可以跟数字,表示使用select后面的第几个列进行排序 二.限制查询    语法    知识点:    1.限制查询条件,使用where子句    2.条件可以多个,使用逻辑操作符和()进行条件的逻辑整合    3.where子句的优先级别最高    4.比较操作表达式由操作符和值组成 常见的操作:


一、排序

        所谓排序,就是根据某个字段的值按照升序或者降序的情况将记录查询出来

    语法

select col_name,... from tb_name order by col_name [asc|desc],...

    知识点:

    1.排序使用order by字句,该子句只对查询记录显示调整,并不改变查询结果,所以执行权最低,即最后执行。

    2.排序关键词:

asc:升序(默认,默认的意思是不加关键词的时候默认为生序排序) desc:降序

    3.如果有多个列排序,后面的列排序的前提是前面的列排好序以后有重复(相同)的值。

例如:

例子: id id2 1 2 2 3 3 4 4 1 4 2 语句: select id,id2 from test order by id,id2 desc; 结果: id id2 1 2 2 3 3 4 4 2 4 1 **注意:先排第一列,如果第一列有重复的值再排第二列,以此类推**

    4.order by 后面还可以跟数字,表示使用select后面的第几个列进行排序

例如:

//使用last_name列进行排序 select last_name,salary from s_emp order by 1; //使用salary列进行排序 select last_name,salary from s_emp order by 2;

二.限制查询

        即指定查询条件进行查询

    语法

select col_name,... from tb_name where col_name 比较操作表达式 逻辑操作符 col_name 比较操作表达式 ...

    知识点:

    1.限制查询条件,使用where子句

    2.条件可以多个,使用逻辑操作符和()进行条件的逻辑整合

    3.where子句的优先级别最高

    4.比较操作表达式由操作符和值组成

常见的操作:

1.逻辑比较操作符 = > < >= <= 2.不等于:三个都表示不等于的意思(经常用的是!=) != <> ^= 查看员工工资小于1000的员工id和名字 例如: select id,last_name,salary from s_emp where salary < 1000; 3.sql比较操作符SQL comparison operators 1)BETWEEN ... AND... **between and:在什么范围之内 [x,y],也可以在日期列上使用between and操作,但是要看当前session会话的语言环境来决定使用中文格式的日期还是英文格式的日期** 例如: 查看员工工资在700 到 1500之间的员工id,和名字 select id,last_name,salary from s_emp where salary between 700 and 1500; 2)IN(list) **in(list):在一个列表中** 例如: 查看是在'08-3月-90'或者'09-2月-91'入职的员工信息 select last_name,start_date from s_emp where start_date in('08-MAR-90','09-FEB-91'); 3)LIKE **like:模糊查询,即值不是精确的值的时候使用 通配符,即可以代替任何内容的符号 % :通配0到多个字符 _ : 当且仅当通配一个字符 转义字符: 默认为\,可以指定 指定的时候用escape 符号指明即可,转义字符只能转义后面的一个字符** 例如: 查看员工名字长度不小于5,且第四个字母为n的员工id和工资 select id,salary,last_name from s_emp where last_name like '___n%' and length(last_name) >=5; 4)IS NULL **is null:对null值操作特定义的操作符,不能使用=** 例如: 查看员工提成为空的员工的id和名字 select id,last_name,commission_pct from s_emp where commission_pct is null; 4.逻辑操作符 当条件有多个的时候使用 and:且逻辑 or: 或逻辑 注意:and优先级比or优先级要高 not:非逻辑 NOT BETWEEN AND NOT IN NOT LIKE IS NOT NULL
最新回复(0)