学习笔记-查询和排序

查询
select *|字段名|表达式 from 表名 [where 条件 [order by 字段名]]

SQL语句一般对大小写不敏感,通常SQL关键字使用大写,非SQL关键字使用小写

oracle 支持的数据类型:字符型,数值型,日期时间型,大对象型,伪列型

算数表达式
    oracle中只有 + - / * 四个。
    select name,salary+500 from employees;
    select name, salary*12+500 from employees;

字段别名
    可以使用as关键字,别名中有空格或者特殊字符或者大小写敏感要放在单引号中
    as关键字,可写可不写,不做强制要求。但是写上的话阅读性较好。
    select first_name 'Name', salary*12+500 'Yearly Salary' from employees;
    select first_name as 'Name' from employees;

连字运算符
    || 
    select first_name || last_name as 'Name' from employees;
    select first_name || ' ' || last_name as 'Name' from employees;

去除重复行
    使用distinct关键字
    select distinct xxx from table_name;
    在返回结果中除去相同的行。

限定返回行
    where子句
    select name from employees where id=5;
    select name from employees where last_name='IT';
        值得注意的是,SQL语句是不区分大小写的,但是where比较是区分大小写的
    select name from employees where id >= 20;
        常用的比较条件:=, >, <, >=, >=, <>, !=, ^=后面三个可以认为是不等于

    between...and..条件
    select name from employees where id between 10 and 20;

    in条件
    select name from employees where id in(6, 9);
    select name from employees where id in('列名1', '列名2, ...);
    满足条件中的一个就行。

    like 条件
    %代表一个或多个字符,_ 代表一个字符
    select name from employees where name like '%d_';

    当确实需要 %和_ 这两个符号时,使用 escape
    select name from employees where name like '%d$_%' escape '$';
    这个表示找包含 d_ 字符的名字, escape 的 '$' 表示不将它后面的字符看做通配符


    null 条件
    分为 is null, is not null, 判断null 不能使用 = ,因为null不属于任何值。
    select name from employees where last_name is not null;

    逻辑条件
    AND OR NOT,为别为与,或,非
    select name from employees where id=5 and salary >= 20000;

排序
order by 子句
必须位于SQL语句的最后面。要指定一个表达式,一个字段名,
作为排序条件。排序方式有ASC(升序, 默认), DESC(降序)。

    select * from employees order by id;
    select * from employees order by id desc;

使用别名进行排序
    select last_name as 'Name' from employees order by Name desc;

使用序号进行排序
    select last_name, first_name, id from employees order by 3;
    3 代表 id 字段名

多重排序
    select first_name, last_name, id from employees order by id, last_name desc;
    在以id为升序排列的基础上,进行以last_name为降序排序。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值