从数据表中检索信息
admin
2023-05-02 20:04:05
0

本章内容包括:

  • 使用SELECT语句从一个或多个数据库表中检索信息

  • 使用算术表达式进行计算

  • 使用WHERE子句对行进行过滤

  • 对从表中检索到的行进行排序

一、单表查询数据

  1. SELECT语句用于从数据库表中检索信息。

    select * from customers;    //选择一个表中所有的列

    select c.name from cutomers c;   //选择表中的某一列

  2. 使用WHERE子句过滤行

    在查询中可以使用WHERE子句来指定想要检索的行。

    select * from customers where customer_id = 2;

  3. 理解行标识符

    oracle数据库中的每一行都有一个唯一的行标识符ROWID。Oracle数据库内部使用行标识符来存储行的物理位置。rowid通常被称为伪列。不会出现在表结构中

  4. 理解行号

    oracle的另一个伪列是ROWNUM,它返回每一行在结果集中的行号

  5. SQL> select rowid,rownum,f.serial_no,f.code_id from fault_barrier_base_code f where rownum < 20;
    ROWID                                                                                ROWNUM SERIAL_NO CODE_ID
    -------------------------------------------------------------------------------- ---------- --------- ----------------------------------------
    AAGlTlAAOAAJEhUAAA                                                                        1         5 YJ_SOAP
    AAGlTlAAOAAJEhUAAB                                                                        2         6 SC_SOAP
    AAGlTlAAOAAJEhUAAC                                                                        3         9 88
    AAGlTlAAOAAJEhUAAD                                                                        4        22 12
    AAGlTlAAOAAJEhUAAE                                                                        5        23 52
    AAGlTlAAOAAJEhUAAF                                                                        6        24 82
    AAGlTlAAOAAJEhUAAG                                                                        7        25 94
    AAGlTlAAOAAJEhUAAH                                                                        8        29 21
    AAGlTlAAOAAJEhUAAI                                                                        9        30 REPLACE_NOCHECK_SECROSCODE
    AAGlTlAAOAAJEhVAAA                                                                       10        10 89
    AAGlTlAAOAAJEhVAAB                                                                       11        13 RECORD_MONITOR_LOG
    AAGlTlAAOAAJEhVAAC                                                                       12        14 92
    AAGlTlAAOAAJEhVAAD                                                                       13        15 DEFAULT_URL_FALG
    AAGlTlAAOAAJEhVAAE                                                                       14        32 98
    AAGlTlAAOAAJEhVAAF                                                                       15        37 CHECK_DEFAULT_SECRESCODE_DESC
    AAGlTlAAOAAJEhVAAG                                                                       16        38 NOT_FAULT_BARRIER_ENABLE
    AAGlTlAAOAAJEhVAAH                                                                       17        39 NO_FAULT_BARRIER_CRON
    AAGlTlAAOAAJEhVAAI                                                                       18        40 GROUP_SPECIAL_MSISDN
    AAGlTlAAOAAJEhVAAJ                                                                       19        41 GROUP_SPECIAL_BIPCODE_ACTIVECODE
    19 rows selected
  6.  执行算术运算

    Oracle在SQL语句中使用算术表达式来进行算术运算,包括+、-、*、/

    日期运算:在2016年6月6日上加上一天

  7. SQL> select to_date(sysdate) + 7  as "one week later" from dual;
    one week later
    --------------
    2016/6/13
    SQL> select to_date(sysdate) - 7  as "one week ago" from dual;
    one week ago
    ------------
    2016/5/30
  8. 算术运算中也支持表的列操作。

  9. 禁止显示重复行 关键字DISTINCT

  10. 比较值,用 =、<>或!=、<、>、<=,>=,ANY(与任何值比较),ALL

  11. 使用SQL操作符,LIKE(模糊查询),IN(范围查询),BETWEEN(范围查询),IS NULL,IS NAN(非数字),IS INFINITE

  12. 使用逻辑操作符 x AND y(当x和y都为true时,返回true),x OR y(当x和y中有一个为true,就返回true),NOT x(如果x为false,则返回true);

  13. 使用ORDER BY 子句对行进行排序

    使用ORDER BY子句可以对查询检索出来的行进行排序。ORDER BY子句必须位于FROM或WHERE子句(如果提供了WHERE子句)之后。

二、执行两个表的SELECT语句

  1. 连接可以用于连接任意多个表。连接数 = 查询中使用的表的总数 - 1

  2. select * from fault_barrier_code;
    select * from fault_barrier_sec_rspcode sec,fault_barrier_code fc
     where sec.bip_code = fc.bip_code
     and sec.act_code = fc.act_code
     and sec.plat_code = fc.plat_code;

3.  连接条件和连接类型

    根据连接中使用的操作符的不同,连接条件(join condition)可以分为两类:

  •     等连接(equijion)在连接中使用操作符。

  •     不等连接(non-equijoin)在连接中使用除等号之外的操作符如,<,>,BETWEEN

    连接有3中类型

  •     内连接(inner join)只有当连接中的列包含满足连接条件的值时才会返回一行。

  •      外连接(outer join)即使连接条件中的一列包含空值也会返回一行

  •    自连接(self join)返回连接到同一张表中的行












相关内容

热门资讯

冰箱漏电怎么测 1、可以用灯泡检查法来检测冰箱漏电,将36V灯泡的两根导线,一根接冰箱外壳(无漆处)另一根接大地,如...
电饭煲通电就跳闸怎么回事 如果之前电饭煲从未出现过跳闸现象,此现象为新出现的,有可能是插板或者是电饭煲发生故障导致的。首先可以...
空调外机有温度传感器损坏 最可能是温度传感器泄漏导致的这个原因。可以使用热毛巾加热温度检测管,将按钮设置为最低温度,并使用测试...
九阳铁釜电饭煲故障代码种类及解... 故障代码的种类很多,有E0表示电饭煲上盖热敏电阻故障,需要更换上盖的热门电阻;E1是热敏电阻故障,需...
九阳电饭锅的拆卸步骤 先拆锅底的四个小螺丝,然后将暴露出来的底拆开,然后拆卸电饭锅那儿的小盖板,用螺丝刀拆螺丝就行,然后将...
华南理工男生课堂偷拍女生被当场... 据羊城晚报消息,5月13日,一段“华南理工大学男生教室偷拍女生”视频在网络传播,相关事件引发热议。视...
偷税超900万被查的网红白冰:... 刚刚,因偷税超900万元被查的网红白冰发布近60分钟长视频,控诉前员工联合他人侵吞公司资金、设局陷害...
AI人才需求攀升,如何打开就业... 当前正值高校毕业生求职关键期。记者在劳动力市场看到,随着人工智能蓬勃发展,各行业各领域对AI(人工智...
5月14日、15日土星火星上演... 5月14日、15日土星火星上演合月“接力赛” 5月14日、15日日出前,东方低空将接连上演土星合月...
投身具身智能,它石丁文超:知行... 90后、“天才少年”、博导...它石智航首席科学家丁文超身上有不少标签。他曾参与主导真正意义上的第一...