1. 程式人生 > >SQL語句 oracle

SQL語句 oracle

2.1 where

作用:限制行的查詢

例2.1.1

SQL> select dname from scott.dept 
     where deptno = 10;

2.2 Between
Between
100 and 103 :包含100和103
例2.2.1

SQL>select DNAME from scott.dept 
    where deptno between 10 and 30;

例2.3.1

SQL>select * from scott.dept;

          DEPTNO DNAME        LOC
      10 ACCOUNTING   NEW YORK
      20 RESEARCH        DALLAS
      30 SALES         CHICAGO
      40 OPERATIONS    BOSTON
      41 A%%%%%%%    A
      42 A%_%%%%%    B

 








 SQL>select dname from scott.dept
     where deptno in (40,42);

 

DNAME

--------------

OPERATIONS

A%_%%%%%

2.4 like

2.4.1 作用:模糊查詢,搜尋條件可以包含文字字元或數字

1)%表示零或多個字元

2)_表示一個字元

例2.4.1

SQL>select dname from scott.dept
where deptno like '1%'; 

2.4.2 單引號轉義符

Escapez:轉義%與_匹配字元本來的含義

方法一:SQL> select ename||q'['s sal is ]'||sal info from scott.emp;

方法二:

SQL> select ename||'''s sal is '||sal from
scott.emp;

例2.4.2

SQL> select ename||'''s sal is '||sal from scott.emp;

 

ENAME||'''SSALIS'||SAL

------------------------------------------------------------

SMITH's sal is 800

ALLEN's sal is 1600

WARD's sal is 1250

JONES's sal is 2975

MARTIN's sal is 1250

BLAKE's sal is 2850

CLARK's sal is 2450

SCOTT's sal is 3000

 

SQL> select * from scott.dept;

   DEPTNO DNAME        LOC

  10 ACCOUNTING   NEW YORK

  20 RESEARCH        DALLAS

  30 SALES         CHICAGO

  40 OPERATIONS    BOSTON

例2.4.3

SQL> insert into
scott.dept values (41,'A%%%%%%%','A');

1 row
created.

SQL> select * from scott.dept;



   DEPTNO DNAME        LOC


  10 ACCOUNTING   NEW YORK

  20 RESEARCH        DALLAS

  30 SALES         CHICAGO

  40 OPERATIONS    BOSTON

  41 A%%%%%%%    A

例2.4.4

SQL> insert into
scott.dept values (42,'A%_%%%%%','B');

1 row
created.

SQL>select * from scott.dept;



  DEPTNO DNAME        LOC
  10 ACCOUNTING   NEW YORK

  20 RESEARCH        DALLAS

  30 SALES         CHICAGO

  40 OPERATIONS    BOSTON

  41 A%%%%%%%    A

  42 A%_%%%%%    B

6 rows
selected.

2.4.3 ~

轉義符:~的下一個字元如果是%,這個百分號是真實的百分號,沒有特殊的含義

例 2.4.5查詢A%_開頭的

SQL>select * from scott.dept where dname like 'A~%~_%' escape '~';
 DEPTNO DNAME        LOC
  
 42 A%_%%%%%    B

2.5 OR

例2.5.1

SQL>select loc  from scott.dept
    where deptno >= 10
    or dname like 'A%';

2.6 NOT IN

例2.6.1

SQL>select dname from scott.dept
where deptno not in (10,40);

 

DNAME

--------------

RESEARCH

SALES

A%%%%%%%

A%_%%%%%

2.7 || 連線運算子

    SQL> select * from scott.dept;

 

    DEPTNO DNAME        LOC

----------
-------------- -------------

      10 ACCOUNTING   NEW YORK

      20 RESEARCH        DALLAS

      30 SALES         CHICAGO

      40 OPERATIONS    BOSTON

      41 A%%%%%%%    A

      42 A%_%%%%%    B

 

    
SQL>select

 dname ||' is '||deptno
          as "name" from scott.dept;
    
     
    
    name
    
    ----------------------------------------------------------
    
    ACCOUNTING is 10
    
    RESEARCH is 20
    
    SALES is 30
    
    OPERATIONS is 40
    
    A%%%%%%% is 41
    
    A%_%%%%% is 42