随笔全个人原创,转载请申明作者

1.2 Oracle数据库学习教程-过滤和排序数据

Oracle数据库学习教程

过滤和排序数据

1.where条件过滤


SQL> select * from emp where deptno=10

SQL> select * from emp where ename= 'KiNg '
//注意字符串区分大小写

SQL>select * from emp where hiredate= '17-11月-81 ';
//注意系统日期格式

20211005135034
20211005135640

1.1日期格式

获取系统当前日期格式:SQL> select * from v$nls_parameters(数据字典,类似于tab)
设置列宽度:SQL> col parameter for a30

修改日期格式:
SQL> alter session set NLS_DATE_FORMAT = 'yyyy-mm-dd '
再次查询:
SQL> select * from emp where hiredate= '1981-11-17;'
显示带有时间的日期:
SQL> alter session set NLS_DATE_FORMAT = 'yyyy-mm-dd hh24:mi:ss'
再次查看系统时间:
SQL> select sysdate from dual

改回系统默认格式:
SQL> alter session set NLS_DATE_FROMAT = 'DD-MON-RR '

  • 字符和日期要包含在单引号中。
  • 字符大小写敏感,日期格式敏感。
  • 默认的日期格式是 DD-MON-RR

1.2比较运算

  1. 普通比较运算符
    1. 等于:=
    2. 大/小于:>/<
    3. 大/小于等于:>=/<=
    4. 不等于:<>/!=
  2. between...and: 介于两者之间
    1. 包含边界
    2. 小值在前,大值在后
  3. in:在集合中(not in)
    1. where i=10 or i=20 ==> where i in(10,20)
    2. 如果结果有NULL值,可以使用in,不能使用not in
  4. like:模糊查询
    1. %:匹配多个字符
    2. _:匹配一个字符
    3. 用到%和_的时候,需要转义:% _

1.3逻辑运算

  1. AND 逻辑并
  2. OR 逻辑或
  3. NOT 逻辑非

2.order by排序

2.1 order by子句

  1. ASC 升序,默认的
  2. DESC 降序

select * from emp order by empno desc 如果升序,则可以不写

  • 可以作用于多列,一起排:by 列一,列二
  • 如果是降序,by 列一 desc,列二 desc

可以只用last把null反到最后,注意是nulls
select * from emp order by comm desc nulls last

posted @ 2021-10-05 20:46  许小仙  阅读(107)  评论(0编辑  收藏  举报