注册 登录
编程论坛 Oracle论坛

急问:关于Oracle中的一个查询问题!!!

sai_shen 发布于 2007-12-19 15:52, 3628 次点击
我在Oracle中运行下面的语句:
SELECT  st.itemCode,  st.callNo,  bc.title,  st.dateLoan,  st.loanStatus  from  StudentTrans st  inner join  bookcatalog bc  on  st.callNo=bc.callNo   where  matricNo=‘mat001’  and  loanStatus='onLoan';

结果出现了java.sql.SQLException: ORA-00933: SQL command not properly ended

但问题是我在mysql中运行了同样的语句并没有出现错误且成功的取出了数据

请问这是什么原因?我应该如何在Oracle中修改这段语句使其能运行?
3 回复
#2
飙马2007-12-20 12:38
加加括号试试看看!
#3
sai_shen2007-12-20 14:04
SQL> SELECT S.ITEMCODE,B.TITLE
  2  FROM STUDENTTRANS S
  3  (INNER JOIN BOOKCATALOG B
  4  ON S.CALLNO=B.CALLNO)
  5  WHERE S.MATRICNO='MAT001';
(INNER JOIN BOOKCATALOG B
*
ERROR at line 3:
ORA-00933: SQL command not properly ended



SQL> SELECT S.ITEMCODE,B.TITLE
  2  FROM STUDENTTRANS.S
  3  (INNER JOIN BOOKCATALOG B)
  4  ON S.CALLNO=B.CALLNO
  5  WHERE S.MATRICNO='MAT001';
(INNER JOIN BOOKCATALOG B)
*
ERROR at line 3:
ORA-00933: SQL command not properly ended


SQL> SELECT S.ITEMCODE,B.TITLE
  2  FROM STUDENTTRANS S
  3  (INNER JOIN BOOKCATALOG B
  4  ON S.CALLNO=B.CALLNO
  5  WHERE S.MATRICNO='MAT001');
(INNER JOIN BOOKCATALOG B
*
ERROR at line 3:
ORA-00933: SQL command not properly ended

这是我加了括号后又尝试了几次,每次都是在第3行报错,可是我关键字没有打错,表名也没有打错,这是到底是什么原因呢 ?
希望大家帮帮我。。。
#4
ILoveMK2007-12-20 14:28
给你参考一下
SQL> select a.empno,a.ename,a.job,b.dname
  2  from emp a inner join dept b
  3  on a.deptno=b.deptno
  4  where a.sal>2000;

     EMPNO ENAME      JOB       DNAME
---------- ---------- --------- --------------
      7782 CLARK      MANAGER   ACCOUNTING
      7698 BLAKE      MANAGER   SALES
      7566 JONES      MANAGER   RESEARCH
      7788 SCOTT      ANALYST   RESEARCH
      7902 FORD       ANALYST   RESEARCH
      7839 KING       PRESIDENT ACCOUNTING

已选择6行。
1