oracle学习笔记 二

From子句

-select用于指定要查询的列

-from指定要从哪几个表中查询
•如果要查询所有列,可以在select后面使用*号
•如果只查询特定的列,可以直接在select后面指定列名,列名之间用逗号隔开

    select * from dept


使用别名

在sql语句中可以通过使用列的别名改标题的显示文字,或者表示计算结果的含义。

可以加as,也可以不加

如果希望别名要区分大小写,或者在别名中含有字符或空格,用“双引号引起来。

    例子:select empno as id ,ename "Name",sal*12 "Annual Salary" from emp;


where子句

在select语句中,可以在where子句中使用比较辐照的限制查询结果

如果和数字比较的话,可以使用单引号,也可以不用

如果和字符及日期类型的数据比较,则必须用单引号一起

    select * from emp where deptno = 10;

    select ename,sal,job from emp where job ='salesman';

select 子句

   如果只查询表的部分列,需要在select后制定列名

    select ename,sal from emp;

使用>,<,>=,!=,<>(等价!=),=

    select ename,sal from emp where sal <2000;

    select ename,sal ,jbo from emp where deptno 1= 10;

    select ename,sal,hiredate from emp where hiredate > to_date('2002-1-1','YYYY-MM-DD');

使用and,or关键词

在sql操作中,如果希望返回的结果必须满足多个条件,应该使用and逻辑操作符连接这些条件

在sql操作中,如果希望返回的结果瞒住多个条件之一即可,应该使用or逻辑操作符连接这些条件

    select ename,sal,job from emp where sal >1000 and job='CLERK'

    select ename sal,jbo from emp where sal >1000 or job 'CLERK'

使用like条件(模糊查询)

比较操作符like用来模糊查询

当用户执行查询时,不能完全确定某些星系的查询条件或者只知道信息的一部分,可以借助like来实现

like需要连个适配符

%表示0到多个通配符

_表示一个统配符

这两个统配符可以配合使用,够着灵活的匹配条件

select ename,job form emp

where ename like'_A%'


使用IN和NOT IN

比较操作符IN(list)用来取出符合列表范围中的数据。

List表示值列表,当列或表达式匹配列表中的任何一个值时,条件为TRUE,改条记录则被显示出来

IN也可以理解为一个范围比较操作符,只不过这个范围是一个指定的列表

NOT IN(list)取出不符合此列表中的数据记录

select enamel,job from emp wherejobIN(‘MANNAGER’,‘CLERK’);

select ename ,bob from emp where deptno not in (10,20);

between and (包含边界)

select enamel,sal from emp where sas betweeen in 1500 and 3000;


使用is null 和 is not null

空值null是一个特殊的值,比较的时候不能使用“=”号,必须使用is null,否则不能得到正确的结果。

select ename ,sal,comm from emp where comm is null;

使用any和all条件

all和any不能单独使用,必须配合单行比较符,>,>=,<,<=一起使用。

>any:大于最小(只要大于任何一个就行)

<any:小于最大(只要小于任意一个就行)

>all:大于最大(大于所有)

<al:小于最小(小于所有)

select emno,ename ,jbo ,sal ,deptno,form emp

where emp

where sal > any(3500,4000,4500)

查询条件中使用表达式和函数

当查询需要对选出的字典进行进一步计算,可以在数字列上使用算术表达式(+、-、*、/)

表达式符合四则运算的默认优先级,如果要改变优先级可以使用括号

算术运算主要针对数字类型的数据,对日期类型的数句可以做加减操作,表示一个日期值上加或减一个天数

select ename, sal , job from emp where ename=upeer(''rose);

select ename,sal,job from emp where sal*12 >100000;

使用distinct过滤重复

select deptno from emp;

select distinct deptno from emp;

select distinct deptno, job from emp;



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值