基本查询搜索的问题
Trouble With Basic Query Searching
不确定这里是否适合提问,但我有一个新手问题 sql。
我有 table 部门和员工,其中包括:
SQL> desc dept;
Name Null? Type
----------------------------------------- -------- ----------------------
DEPTNO NUMBER(2)
DNAME VARCHAR2(14)
LOC NOT NULL VARCHAR2(13)
SQL> desc emp;
Name Null? Type
----------------------------------------- -------- ----------------------
EMPNO NUMBER(4)
ENAME VARCHAR2(10)
JOB VARCHAR2(9)
MGR NUMBER(4)
HIREDATE DATE
SAL NUMBER(7,2)
COMM NUMBER(7,2)
DEPTNO NUMBER(2)
我需要搜索部门 30 中的所有工作并包括部门 30 的位置。
我正在尝试的是:
SQL> select emp.job, dept.deptno, dept.loc
2 from emp, dept
3 where emp.deptno = dept.deptno
4 where deptno = '30';
where deptno = '30'
*
ERROR at line 4:
ORA-00933: SQL command not properly ended
但是如您所见,它不起作用,我尝试了不同的变体,但仍然没有成功。我在正确的轨道上吗?我该如何解决?
听起来你想要这样的东西。当 where
子句中有多个条件时,只需指定一次 where
并将它们与 and
或 or
条件组合。
select emp.job, dept.deptno, dept.loc
from emp, dept
where emp.deptno = dept.deptno
and dept.deptno = 30;
除非出于某种原因确实需要使用旧的连接语法,否则您可能应该从 SQL 99 语法开始。它使得在数据库之间移动变得更加容易,它通过分离连接和过滤条件使您的查询更容易阅读,并且当您开始处理外部连接时,它使生活变得更加轻松。
select emp.job, dept.deptno, dept.loc
from emp
join dept
on( emp.deptno = dept.deptno )
where dept.deptno = 30;
不确定这里是否适合提问,但我有一个新手问题 sql。
我有 table 部门和员工,其中包括:
SQL> desc dept;
Name Null? Type
----------------------------------------- -------- ----------------------
DEPTNO NUMBER(2)
DNAME VARCHAR2(14)
LOC NOT NULL VARCHAR2(13)
SQL> desc emp;
Name Null? Type
----------------------------------------- -------- ----------------------
EMPNO NUMBER(4)
ENAME VARCHAR2(10)
JOB VARCHAR2(9)
MGR NUMBER(4)
HIREDATE DATE
SAL NUMBER(7,2)
COMM NUMBER(7,2)
DEPTNO NUMBER(2)
我需要搜索部门 30 中的所有工作并包括部门 30 的位置。
我正在尝试的是:
SQL> select emp.job, dept.deptno, dept.loc
2 from emp, dept
3 where emp.deptno = dept.deptno
4 where deptno = '30';
where deptno = '30'
*
ERROR at line 4:
ORA-00933: SQL command not properly ended
但是如您所见,它不起作用,我尝试了不同的变体,但仍然没有成功。我在正确的轨道上吗?我该如何解决?
听起来你想要这样的东西。当 where
子句中有多个条件时,只需指定一次 where
并将它们与 and
或 or
条件组合。
select emp.job, dept.deptno, dept.loc
from emp, dept
where emp.deptno = dept.deptno
and dept.deptno = 30;
除非出于某种原因确实需要使用旧的连接语法,否则您可能应该从 SQL 99 语法开始。它使得在数据库之间移动变得更加容易,它通过分离连接和过滤条件使您的查询更容易阅读,并且当您开始处理外部连接时,它使生活变得更加轻松。
select emp.job, dept.deptno, dept.loc
from emp
join dept
on( emp.deptno = dept.deptno )
where dept.deptno = 30;