由于某种原因在 SQL 开发人员中缺少逗号错误。之前工作正常

我让它去做其他事情,之前它工作得很好。现在它甚至不会因为缺少逗号错误而运行,即使逗号已经存在

const getJson = (url) => fetch(url).then(res => res.json());

Promise.all([
  getJson("https://jsonplaceholder.typicode.com/users/1"),getJson("https://jsonplaceholder.typicode.com/todos/1")
]).then((res) => {
  console.log("Both are done!")
  console.log(res[0]);
  console.log(res[1]);
});
nl0503 回答:由于某种原因在 SQL 开发人员中缺少逗号错误。之前工作正常

不是缺少逗号,而是第一个插入语句中的整个日期值是错误的。

这个:'1999-AUG-31 没有,甚至不是一个字符串(缺少尾随单引号)。但是,它也不是有效的日期值。将它与包含日期文字的第二条语句进行比较:DATE '1999-08-31'(是的,这也是你应该在第一条语句中做的)。

修复后:

SQL> INSERT INTO employees (EMPLOYEE_ID,LAST_NAME,EMAIL,HIRE_DATE,JOB_ID,DEPARTMENT_ID)
  2  VALUES(176,'Taylor','jasontaylor@gmail.com',DATE '1999-08-31','SA_REP',80);
                                                    -----------------
1 row created.                                      this was wrong

SQL> INSERT INTO employees (EMPLOYEE_ID,DEPARTMENT_ID)
  2  VALUES(200,'Whalen','justinwhalen@gmail.com',DATE '1993-06-18','AD_ASST',200);

1 row created.

SQL>

关于您的自然连接问题:自然连接隐式连接两个表中的公共列(它们具有相同的名称)。

这意味着您的查询:

SQL> SELECT LAST_NAME,DEPARTMENT_ID,END_DATE,EMPLOYEE_ID  FROM employees NATURAL JOIN job_history;

LAST_NAME                 DEPARTMENT_ID END_DATE   JOB_ID     EMPLOYEE_ID
------------------------- ------------- ---------- ---------- -----------
Taylor                               80 06-12-0031 SA_REP             176

返回与内连接相同的结果,加入公共列:

SQL> select e.last_name,e.department_id,h.end_Date,e.job_id,e.employee_id
  2  from employees e join job_history h on h.employee_id   = e.employee_id
  3                                     and h.job_id        = e.job_id
  4                                     and h.department_id = e.department_id;

LAST_NAME                 DEPARTMENT_ID END_DATE   JOB_ID     EMPLOYEE_ID
------------------------- ------------- ---------- ---------- -----------
Taylor                               80 06-12-0031 SA_REP             176

SQL>

如果您希望查询返回“更多”行,那么它们应该在这些公共列中具有匹配的数据。例如,尽管 EMPLOYEE_ID 值匹配,但 AD_ASST 表中没有 job_history 作业值,也没有值为 department_id200


需要返回两个员工的数据:删除员工200,修改后的职位和部门数据重新录入;那么你的 NATURAL JOIN 就起作用了。

SQL> delete from job_history where employee_id = 200;

1 row deleted.

SQL> INSERT INTO job_history (EMPLOYEE_ID,START_DATE,'2001-JAN-14','2001-JUN-17',200);

1 row created.

SQL> SELECT LAST_NAME,EMPLOYEE_ID  FROM employees NATURAL JOIN job_history;

LAST_NAME                 DEPARTMENT_ID END_DATE    JOB_ID     EMPLOYEE_ID
------------------------- ------------- ----------- ---------- -----------
Taylor                               80 0031-DEC-06 SA_REP             176
Whalen                              200 2001-JUN-17 AD_ASST            200
本文链接:https://www.f2er.com/1056.html

大家都在问