zoukankan      html  css  js  c++  java
  • sql

    1. SQL*plus是什么?
    SQL*plus是一个工具,可以为window、unix系统提供命令行工具,
    是一个用来输入和执行SQL语句并显示输出结果的纯文本环境。

    2. 连接方式,两种
    前提: 在$ORACLE_HOME/network/admin/tnsnames.ora配置连接符
    2.1 通过命令行连接到sql*plus
    》》 sqlplus pms@pms
    enter password: pms
    或者 sqlplus pms/pms@pms
    2.2 通过命令行连接到sql*plus,并登陆到数据库
    》》 sqlplus /nolog
    connect pms/pms@pms
    3. 配置sqlplus环境,
    slqplus命令列表, help index
    set : 设置运行环境
    每次设置都会在一个session中,关掉sqlplus命令之后,环境变量就会消失
    sqlplus每次进入都会执行$oracle_home/client_1/sqlplus/admin下的文件glogin.sql
    自动寻找login.sql文件,这个文件配置了一下登录名与密码信息
    4. 执行命令
    前提: 确保当前service启动了,set oracle_sid = pms174
    可以使用的命令有sql语句、sqlplus的命令语句,
    sql语句,结束符为分号(;)和斜杠(/),分号(;)可以在一行的末尾或者新的一行,斜杠必须是新的一行才能被识别。

    4.1 使用list可以查看sqlplus缓存器中的语句,
    4.2 使用@和start命令执行文件中的sql,文件如edit.sql
    sqlplus pms/pms@pms174 @list_depts
    sqlplus pms/pms@pms174 start list_depts
    5. 常见的语句
    select、insert、update、delete、merge

    *******
    问题很重要
    *******
    1. oracle是基于优化器的查询
    2. 优化器是干什么的,如何来实现其功能,
    为什么需要优化器?
    因为优化器可以提升查询速度

    6. select
    sql是如何工作的呢?
    sql首先处理的不是select (column list),而是处理from语句,它将from语句处理的数据集存储在一个临时空间中,然后处理下面的语句,这个数据集会被不断的处理直到生成最终的结果集,返回给调用者。
    --------------
    selet c.customer_id, count(o.order_id) as
    orders_ct
    from oe.customer_id o
    join oe.orders o
    on c.customer_id = o.customer_id
    where c.gender='F'
    group by c.customer_id
    having count(o.order_id) > 4
    order by order_ct, c.customer_id
    ----------------

    7. 标量子查询
    查询只能返回一行一列的值,叫标量子查询。 这种查询越少越好,因为标量子查询在结果集中每一行结果产生时,都会执行一遍。

    9. 解释一下select语句中关键字的作用:
    9.1 distinct作用于结果集中去除重复的一行数据,该行数据要求每一列的数值相等(值和类型都要相等)
    9.2 where 对返回的结果集进行过滤,注意: 过滤条件的结果可能是true, false, N/A(未知)
    9.3 group by 对结果集进行聚合,注意:select列表中的任何非聚合字段都应该包括在group by表达式中,
    group by 中的表达式可能含有一个字段,二个,......这些字段被称为聚合字段。
    select 中可能含有函数,聚合字段。
    9.4 having 对分组汇总后的查询结果进行过滤,以减少返回的结果集。
    9.5 order by 对返回的结果进行排序






  • 相关阅读:
    版本控制之GitHub亲手实验总结
    Java的HashMap是如何实现的?
    Junit
    由swap引发的关于按值传递和引用传递的思考与总结
    C++了解free和delete
    GitHub使用教程
    Oracle下SQL学习笔记
    Flappy Bird
    尾递归与Continuation(转载)
    十步完全理解SQL(转载)
  • 原文地址:https://www.cnblogs.com/alisonGavin/p/7832062.html
Copyright © 2011-2022 走看看