【问题标题】:Oracle: select from two tablesOracle:从两个表中选择
【发布时间】:2016-02-17 09:02:30
【问题描述】:

我有两张桌子EMPLOYEEDEPARTMENT

DEPARTMENT 表的列:

 DEPARTMENT_ID
 DEPARTMENT_NAME
 MANAGER_ID
 LOCATION_ID

EMPLOYEE 表的列

EMPLOYEE_ID
FIRST_NAME
LAST_NAME
EMAIL
PHONE_NUMBER
HIRE_DATE DATE
JOB_ID
SALARY
COMMISSION_PCT
MANAGER_ID
DEPARTMENT_ID

当想要的号码出现时DEPARTMENT_ID 选择EMPLOYEE_ID

FIRST_NAME
LAST_NAME
EMAIL
PHONE_NUMBER
HIRE_DATE DATE
JOB_ID
SALARY
COMMISSION_PCT
MANAGER_ID
DEPARTMENT_ID

【问题讨论】:

  • 1) 请修复您的语法先生! 2) 那么你的问题是什么?
  • 当他选择 DEPARTMENT_ID 时,我想显示雇员表中的所有现有字段
  • 所以你需要:select * from epmloyee where department_id = ?
  • 是的,感谢您的努力
  • department_id 对两个表都存在当我选择 No. Department 时,您自己的字段会显示在员工表中

标签: oracle10g


【解决方案1】:

请执行此查询

select 
    emp.first_name, emp.last_name, emp.email, emp.phone_number, 
    dept.manager_id 
from 
    employee emp, department dept 
where 
    emp.department_id = dept.department_id

【讨论】:

  • ORA-00942: 表或视图不存在
  • department_id 对两个表都存在当我选择 No. Department 时,您自己的字段会显示在员工表中
  • Bad habits to kick : using old-style JOINs - 旧式 逗号分隔的表格列表 样式已替换为 ANSI 中的 proper ANSI JOIN 语法-92 SQL 标准(20 多年前),不鼓励使用它
  • select emp.first_name, emp.last_name,emp.email, emp.phone_number, dept.DEPARTMENT_ID=90 from EMPLOYEES emp, DEPARTMENTS dept where emp.department_id = dept.department_id
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多