返回顶部

【转载】oracle(三)

[复制链接]
飘在云端Lv.9 显示全部楼层 发表于 2017-2-14 17:28:48 |阅读模式 打印 上一主题 下一主题

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
六、WHERE子句,选择、过滤
    其后只能跟逻辑语句,返回值只有ture或false
    如: select last_name,salary from s_emp where salary=1000;--找出工资1000的人
WHERE子句操作符:
    1、逻辑比较运算符
        =        等于
        !=       不等于,还有(<>  ^=   这两个同样表示不等于)
        >         大于
        >=        大于等于
        <         小于
        <=        小于等于
    2、SQL 比较运算符
    between…and…    :在两者之间。(BETWEEN 小值 AND 大值)
    NOT  between ...  and ... :指定不包含的范围。
        如:select last_name,salary from s_emp where salary between 1000 and 1500;
          --工资1000到1500的人,包括1000和1500。
    in(列表):在列表里面的。  in的括号里可包含次查询,即select子句
        如:select last_name,dept_id from s_emp where dept_id in(41,42);第41、42部门的人
    like    : 包含某内容的。模糊查询
        可以利用通配符创建比较特定数据的搜索模式,通配符只能用于文本,非文本数据类型不能使用通配符。
        通配符在搜索模式中任意位置使用,并且可以使用多个通配符。
        通配符%表示任何字符出现任意次数;还能代表搜索模式中给定位置的0个或多个字符。下划线匹配单个任意字符。
        如:select table_name from user_tables where table_name like 'S\_%' escape'\';
        '  找出“S_“开头的,由于下划线有任意字符的含义,故需另外定义转移符。
           但习惯用“\”,为方便其它程序员阅读和检测,一般不改用其它的。
        like 'M%':M开头的        like '_a%':第二个字符是a的    like '%a%'所有含a的
            (“_”表示一个任意字符;“%”表示任意多个任意字符。)
        如果将值与串类型的进行比较,则需要限定引号;用来与数值列进行比较时,不用引号。
    is null:是空。(NULL表示不包含值。与空格、0是不同的。)
        如:SELECT prod_name,prod_price FROM Products WHERE prod_price IS NULL;
七、高级检索(逻辑运算符):
    通常我们需要根据多个条件检索数据。可以使用AND或OR、NOT等连接相关的条件
    计算次序可以通过圆括号()来明确地分组。不要过分依赖默认计算次序,使用圆括号()没有坏处,它能消除二义性。
    and:条件与
       如 SELECT prod_id,prod_price,prod_name FROM Products WHERE prod_price<4 AND vend_id=‘DELL’
    or:条件或    (注: and 的优先级比 or 更高,改变优先级可用括号)
       如 SELECT prod_id,prod_price,prod_name FROM Products WHERE prod_price<4 OR vend_id=‘DELL’
    not:条件非。否定它之后所跟的任何条件
        否定的SQL 比较运算符: NOT BETWEEN; NOT IN; NOT LIKE; IS NOT NULL:
         (注意,按英语习惯用 is not,而不是 not is)
        NOT 与 IN 在一起使用时,NOT 是找出与条件列表不匹配的行。
        IN 列表里有 NULL 时不处理,不影响结果;用 NOT IN 时,有 NULL 则出错,必须排除空值再运算。
    in :选择列表的条件
        使用IN操作符的优点: 在长的选项清单时,语法直观; 计算的次序容易管理;
        比 OR 操作符清单执行更快;最大优点是可以包含其它 SELECT 语句,使用能够动态地建立 WHERE 子句。
     如 SELECT prod_id,prod_price,prod_name FROM Products WHERE vend_id IN(‘DELL’,’RBER’,’TTSR’);
     SELECT au_name FROM authors WHERE au_id NOT IN (SELECT au_id FROM titleauthors WHERE royaltyshare < .50);    #找出版税不小于50%的作者.
八、单行函数:
    函数一般在数据上执行,它给数据的转换和处理提供了方便。不同的DBMS提供的函数不同。
    函数可能会带来系统的不可移植性(可移植性:所编写的代码可以在多个系统上运行)。
    加入注释是一个使用函数的好习惯。
    大多数SQL实现支持以下类型的函数: 文本处理, 算术运算, 日期和时间, 数值处理。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

云萌主 云萌主-BIGSAAS旗下,由北京合智互联信息技术有限公司在2018年创立,为广大云应用技术爱好者的平台。在云萌主论坛可以查看云应用技术文章、云产品产品最新资讯、技术问答、技术视频。在畅游云上技术的同时,学到最新的云应用产品和技术。
  • 微信公众号

  • Powered by Discuz! X3.4 | Licensed | Copyright © 2001-2022, Aliyun Cloud. | 星点互联设计
  • 京ICP备18052714号 | 营业执照 | |合智互联| QQ