Oracle基本查询

目录

  1. SQL(基础查询) 2
    1.1. 基本查询语句 2
    1.1.1. FROM子句 2
    1.1.2. 使用别名 2
    1.1.3. WHERE子句 3
    1.1.4. SELECT子句 3
    1.2. 查询条件 4
    1.2.1. 使用>, <, >=, <=, !=, <>, = 4
    1.2.2. 使用AND,OR关键字 4
    1.2.3. 使用LIKE条件(模糊查询) 4
    1.2.4. 使用IN和NOT IN 5
    1.2.5. BETWEEN…AND… 5
    1.2.6. 使用IS NULL和IS NOT NULL 5
    1.2.7. 使用ANY和ALL条件 5
    1.2.8. 查询条件中使用表达式和函数 6
    1.2.9. 使用DISTINCT过滤重复 6
    1.3. 排序 7
    1.3.1. 使用ORDER BY字句 7
    1.3.2. ASC和DESC 7
    1.3.3. 多个列排序 8
    1.4. 聚合函数 8
    1.4.1. 什么是聚合函数 8
    1.4.2. MAX和MIN 8
    1.4.3. AVG和SUM 9
    1.4.4. COUNT 9
    1.4.5. 聚合函数对空值的处理 9
    1.5. 分组 9
    1.5.1. GROUP BY子句 9
    1.5.2. 分组查询 10
    1.5.3. HAVING字句 10
    1.6. 查询语句的执行顺序 10

  2. SQL(关联查询) 11
    2.1. 关联基础 11
    2.1.1. 关联的概念 11
    2.1.2. 笛卡尔积 11
    2.1.3. 等值连接 11
    2.2. 关联查询 12
    2.2.1. 内连接 12
    2.2.2. 外连接 12
    2.2.3. 全连接 14
    2.2.4. 自连接 14

  3. SQL常用函数 15
    3.1 ROW_NUMBER() OVER函数 15
    3.2 oracle中的decode的使用 16

  4. SQL(基础查询)
    1.1. 基本查询语句
    1.1.1. FROM子句
    SQL查询语句的语法如下:

  5. SELECT <, column [alias], …> FROM table;
    其中:SELECT用于指定要查询的列,FROM指定要从哪个表中查询。如果要查询所有列,可以在SELECT后面使用
    号,如果只查询特定的列,可以直接在SELECT后面指定列名,列名之间用逗号隔开。例句如下,查询dept表中的所有记录:

  6. SELECT * FROM dept;
    1.1.2. 使用别名
    在SQL语句中可以通过使用列的别名改变标题的显示样式,或者表示计算结果的含义,使用语法是列的别名跟在列名后,中间可以加或不加一个“AS”关键字。例如:

  7. SELECT empno AS id ,ename “Name”, sal * 12 “Annual Salary” FROM emp;
    别名可以直接写,不必用双引号引起来。但是如果希望别名中区分大小写字符,或者别名中包含字符或空格,则必须用双引号引起来。
    1.1.3. WHERE子句
    在SELECT语句中,可以在WHERE子句中使用比较操作符限制查询结果,是可选的。
    当查询条件中和数字比较,可以使用单引号引起,也可以不用,当和字符及日期类型的数据比较,则必须用单引号引起。例如查询部门10下的员工信息:

  8. SELECT * FROM empWHERE deptno = 10;
    查询职员表中职位是’SALESMAN’的职员:

  9. SELECT ename, sal, job FROM emp WHERE job = ‘SALESMAN’;

图-1 用where子句定义查询条件
1.1.4. SELECT子句
如果只查询表的部分列,需要在SELECT后指定列名,例如:

  1. SELECT empno, ename, sal, job FROM emp;

图-2查询指定的列
1.2. 查询条件
1.2.1. 使用>, <, >=, <=, !=, <>, =
在WHERE子句中的查询条件,可以使用比较运算符来做查询。比如:查询职员表中薪水低于2000元的职员信息:

  1. SELECT ename, sal FROM emp WHERE sal< 2000;
    查询职员表中不属于部门10的员工信息(!=等价于<>):
  2.  SELECT ename, sal, job FROM emp WHERE deptno != 10;
    

查询职员表中在2002年1月1号以后入职的职员信息,比较日期类型数据:

  1. SELECT ename, sal, hiredate FROM emp
    
  2.  WHERE hiredate>to_date('2002-1-1','YYYY-MM-DD');
    

1.2.2. 使用AND,OR关键字
在SQL操作中,如果希望返回的结果必须满足多个条件,应该使用AND逻辑操作符连接这些条件,如果希望返回的结果满足多个条件之一即可,应该使用OR逻辑操作符连接这些条件。例如:查询薪水大于1000并且职位是’CLERK’的职员信息:

  1. SELECT ename, sal, job FROM emp
  2. WHERE sal> 1000 AND job = ‘CLERK’;
    查询薪水大于1000或者职位是’CLERK’的职员信息:
  3. SELECT ename, sal, job FROM emp
  4. WHERE sal> 1000 OR job = ‘CLERK’;
    1.2.3. 使用LIKE条件(模糊查询)
    当用户在执行查询时,不能完全确定某些信息的查询条件,或者只知道信息的一部分,可以借助LIKE来实现模糊查询。LIKE需要借助两个
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值