• Oracle数据库基础


    Oracle数据库

    sql分类:

     数据操纵语言(DML)
        SELECT(查询)
        INSERT(插入数据)
        UPDATE(更新数据)
        DELETE(删除数据)
     数据定义语言(DDL)
        CREATE(创建)
        ALTER(更改)
        DROP(删除)
        RENAME(重命名)
        TRUNCATE(截取)
     数据控制语言(DCL)    GRANT(比如说授权远程连接、权限授权等等)

    简单查询

    基本语法
    第一种形式
    ②SELECT *  ( * 表示查询所有的字段信息)
    ①FROM 数据来源(可以是数据表)
    执行顺序:先执行FROM子句,再执行SELECT子句。

    第二种形式
    SELECT 字段名1,字段名2,字段名3...字段名n  
    FROM 数据来源

    DISTINCT关键字:去掉重复信息,只有查询的所有字段的内容都相同才会认为是重复
    AS别名:在SELECT子句中为查询的字段起别名,例如:
    empno  AS  编号,而且AS可以省略,例如:ename  姓名

    限定查询

    在开发中都是有限定查询的,如果开发一些比较敏感的系统你没有限定查询,会有承担法律责任的风险。

    基本语法
      ③SELECT   *
      ①FROM 数据来源
      ②WHERE 过滤条件(WHERE 子句是对数据进行条件判断,选择满足条件的数据)
     
    常用的关键字:
     
    BETWEEN  AND:在。。。和。。。之间(的范围),小的数字或者日期放在AND的前面。
    UNION ALL:将两个查询的结果并到一起显示,用来代替OR条件查询,避免索引失效(后面索引的知识点)
    IS NOT NULL: 不为空
    IS NULL: 为空
    IN(num1,num2,num3):含有num1、num2、num3
    NOT IN(num1,num2,num3): 不含有num1、num2、num3
    <>  :不等于的意思, 等价于  !=
     

    模糊查询

    1、_ :表示任意一位字符
    2、%:表示任意位数的任意字符
    3、要实现模糊查询需要使用到关键字"LIKE"
     
    基本语法:
    ③SELECT   *
    ①FROM   数据来源
    ②WHERE   模糊查询的字段   LIKE   模糊查询的关键字
    (注意:模糊查询要在WHERE子句中去使用)
     

    排序查询

    将查询的结果按照指定的字段进行升序或者降序显示。排序必须是数字或者日期才有意义。

    ORDER   BY 关键字: 排序指定的字段
     
    基本语法
    ③SELECT   *
    ①FROM   数据来源
    ②WHERE   过滤条件
    ④ORDER   BY   排序的字段   ASC | DESC (如果排序的方式没写则默认升序)  
    可以在ORDER   BY 子句中使用SELECT子句的别名,证明了SELECT子句在ORDER   BY 子句之前执行。

     

    多表查询(又叫连接查询)

    ③SELECT *
    ①FROM  数据来源,数据来源...
    ②WHERE  过滤条件
    ④ORDER  BY  排序的字段  ASC | DESC
     
    笛卡尔积:多表查询出的数据量是两张表中的数据量的乘积。
          消除两张数据表的笛卡尔积

    SELECT*
       FROM emp,dept
           WHERE emp.deptno=dept.deptno;
    注意:当查询的数据量较大时,不建议使用连接查询(多表查询),产生过大的笛卡尔积会导致性能耗费
     
    别名的使用
    SELECT *
    FROM emp e,dept d
    WHERE e.deptno=d.deptno;
    别名的作用:简化sql的复杂,让其在引用的时候变得很简洁。
    WHERE子句中引用FROM子句中产生的别名,证明了WHERE子句在FROM子句的后面执行。

    总结:

    多表查询就是从多张数据表中查询数据
    多表查询又叫做连接查询
    多表查询会产生笛卡尔积,在数据量大的时候不要使用多表查询。
     
    连接查询
    多张数据表进行连接然后查询数据,连接查询又分为内连接查询和外连接查询。

    内连接查询:只有满足条件的数据才会被显示
    外连接查询:可以控制不满足条件的数据是否显示
     左外连接查询:可以让左表不满足条件的数据也显示
     右外连接查询:可以让右表不满足条件的数据也显示
     全外连接查询:可以让左表和右表不满足条件的数据都能显示
     
    为emp数据表增加一条数据
    INSERT INTO emp(empno,ename,job,sal) VALUES(1001,'班长','清洁工',3000.00);
     
    总结:
    1、内连接查询只显示满足过滤条件的数据
    2、外连接查询可以控制不满足过滤条件的数据是否显示
     外连接查询分为:左外连接查询
       右外连接查询
       全外连接查询
    3、可以在过滤条件中使用“(+)”来实现左或者右外连接查询,但是这种方式是oracle特有的方式,在mysql不能使用
     
  • 相关阅读:
    Python字典推导式将cookie字符串转化为字典
    爬取百度贴吧前1000页内容(requests库面向对象思想实现)
    牛客网:连续子数组的最大和
    在字符串中找出第一个只出现一次的字符,Python实现
    关于时间日期的程序,主要datetime模块
    [读书笔记] Python数据分析 (五) pandas入门
    [学习笔记] CS131 Computer Vision: Foundations and Applications:Lecture 3 线性代数初步
    [读书笔记] Python数据分析 (四) 数组和矢量计算
    [读书笔记] Python数据分析 (三) IPython
    [读书笔记] R语言实战 (六) 基本图形方法
  • 原文地址:https://www.cnblogs.com/wdss/p/10719684.html
Copyright © 2020-2023  润新知