關於Oracle中查詢結果為未選定行


    今天在做關於Oracle查詢語句的練習時,碰到這么一個題目:找出EMP表中姓名(ENAME)第三個字母是A的員工姓名。我的Scott.emp表的現有數據如下:

SQL> select * from emp;

EMPNO     ENAME   JOB          MGR     HIREDATE         SAL   COMM   DEPTNO
---------- ---------- --------- ---------- -------------- ---------- ---------- ----------
7369       SMITH    CLERK       7902      17-12月-80        800                  20
7499       ALLEN    SALESMAN 7698       20-2月 -81       1600       300     30
7521       WARD    SALESMAN 7698       22-2月 -81       1250       500     30
7566       JONES    MANAGER  7839       02-4月 -81       2975                  20
7654       MARTIN  SALESMAN 7698       28-9月 -81       1250      1400    30
7698       BLAKE    MANAGER  7839        01-5月 -81       2850                 30
7782       CLARK    MANAGER  7839       09-6月 -81        2450                 10
7788       SCOTT    ANALYST   7566        19-4月 -87        3000                20
7839       KING      PRESIDENT               17-11月-81       5000                10
7844       TURNER SALESMAN  7698       08-9月 -81        1500        0      30
7876       ADAMS  CLERK         7788       23-5月 -87        1100                20
7900      JAMES    CLERK         7698       03-12月-81        950                 30
7902      FORD     ANALYST      7566       03-12月-81       3000                20
7934      MILLER  CLERK          7782       23-1月 -82        1300                10
7399      JACK     CLERK          7698                                3300                20

我的Select查詢語句是這樣寫的 select enamel from emp where ename like '__A';

查詢結果為

SQL> select ename from emp where ename like '__A';

未選定行

開始以為是查詢語句寫錯了,左改右改結果還是這樣。后來到網上一查,原來“未選定行”這個不是錯誤,是因為數據庫中沒有和查詢語句相符的結果。

SQL> ed
已寫入 file afiedt.buf

1* select count(ename) from emp where ename like '__A'
SQL> /

COUNT(ENAME)
------------
0

看來遇問題不能先入為主,我一開始以為這是語句錯誤,而老是想找出這個語句哪里錯了。其實這不是錯誤,只是數據庫中數據的問題。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM