Oracle数据库学习(三)--基础查询及关联查询

     

    1. SQL(基础查询)

    1.1. 基本查询语句

    1.1.1. FROM子句

    SQL查询语句的语法如下:

    
        
        
        
    1. SELECT <*, column [alias],> FROM table;

    其中:SELECT用于指定要查询的列,FROM指定要从哪个表中查询。如果要查询所有列,可以在SELECT后面使用*号,如果只查询特定的列,可以直接在SELECT后面指定列名,列名之间用逗号隔开。例句如下,查询dept表中的所有记录:

    
        
        
        
    1. SELECT * FROM dept;

    1.1.2. 使用别名

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

    
        
        
        
    1. SELECT empno AS id ,ename "Name", sal * 12 "Annual Salary" FROM emp;

    别名可以直接写,不必用双引号引起来。但是如果希望别名中区分大小写字符,或者别名中包含字符或空格,则必须用双引号引起来。

    1.1.3. WHERE子句

    在SELECT语句中,可以在WHERE子句中使用比较操作符限制查询结果,是可选的。

    当查询条件中和数字比较,可以使用单引号引起,也可以不用,当和字符及日期类型的数据比较,则必须用单引号引起。例如查询部门10下的员工信息:

    
        
        
        
    1. SELECT * FROM empWHERE deptno = 10;

    查询职员表中职位是’SALESMAN’的职员:

    
        
        
        
    1. 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的员工信息(!=等价于<>):

    
        
        
        
    1. 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’的职员信息:

    
        
        
        
    1. SELECT ename, sal, job FROM emp
    2. WHERE<
    • 9
      点赞
    • 54
      收藏
      觉得还不错? 一键收藏
    • 2
      评论
    评论 2
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

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

    抵扣说明:

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

    余额充值