zoukankan      html  css  js  c++  java
  • SQL实战——04. 查找所有已经分配部门的员工的last_name和first_name以及dept_no (一个逗号引发的血案)

    查找所有已经分配部门的员工的last_name和first_name以及dept_no
    CREATE TABLE `dept_emp` (
    `emp_no` int(11) NOT NULL,
    `dept_no` char(4) NOT NULL,
    `from_date` date NOT NULL,
    `to_date` date NOT NULL,
    PRIMARY KEY (`emp_no`,`dept_no`));
    CREATE TABLE `employees` (
    `emp_no` int(11) NOT NULL,
    `birth_date` date NOT NULL,
    `first_name` varchar(14) NOT NULL,
    `last_name` varchar(16) NOT NULL,
    `gender` char(1) NOT NULL,
    `hire_date` date NOT NULL,
    PRIMARY KEY (`emp_no`));

    错误的SQL代码:

    SELECT e.last_name,e.first_name,d.dept_no
    FROM employees e,dept_emp d
    where e.emp_no=d.emp_no;

    报错:

    不通过
    您的代码已保存
    请检查是否存在语法错误或者数组越界非法访问等情况点击对比用例标准输出与你的输出
    case通过率为0.00%

    正确的SQL代码,答案:

    SELECT e.last_name,e.first_name,d.dept_no
    FROM employees e, dept_emp d
    where e.emp_no=d.emp_no;

    你能发现两段SQL脚本的区别吗?

    这是一个逗号引发的血案,第二行 中间的逗号,错误的SQL中使用了中文全角的“,”,正确的SQL中使用的是英文半角的","

    SQL脚本中一定要避免使用中文全角的符号,很难被发现,很难排查错误,否则,将不能通过测试用例。

  • 相关阅读:
    shell基础知识8-xargs命令
    shell基础知识7-字段分隔符与迭代器
    shell基础知识6-在不按回车键的情况下读入N个字符
    DevOps
    DevOps
    Jenkins
    Jenkins
    Jenkins
    Jenkins
    Gerrit
  • 原文地址:https://www.cnblogs.com/sinodragon21/p/12674014.html
Copyright © 2011-2022 走看看