我试图从雇员数据库中获得名字,姓氏,部门名称,职称,薪水的前100行,但不知道我是否正确地做。我试过下面的查询,它似乎工作,但感觉不对,因为最后2个连接没有ON语句。它是否正确,是否有更高效的方式可以执行此查询?这是一个正确的MySql查询
这是链接到数据库表格图表,给你一个数据库的想法。 https://dev.mysql.com/doc/employee/en/images/employees-schema.png
我的查询,似乎工作:
SELECT e.first_name, e.last_name, dpn.dept_name, t.title, s.salary
FROM employees e, dept_emp dp
INNER JOIN departments dpn
ON dp.dept_no = dpn.dept_no
INNER JOIN salaries s
INNER JOIN titles t
LIMIT 100;
我尝试下面的代码,但一直得到错误“#1054 - 未知列‘e.emp_no’在‘关于条款’”开始第二最后一次ON语句。
SELECT e.first_name, e.last_name, dpn.dept_name, t.title, s.salary
FROM employees e, dept_emp dp
INNER JOIN departments dpn
ON dp.dept_no = dpn.dept_no
INNER JOIN salaries s
ON e.emp_no = salaries.emp_no
INNER JOIN titles t
ON e.emp_no = t.emp_no
LIMIT 100;
谢谢!
你(认为你)是什么意思的“前100行”?表格没有排序,直到最外面的排序依据为止。 “试用下面的查询”是什么意思? “似乎有效”是什么意思?和“不舒服”?请阅读[ask]和[mcve]并采取行动。请以表格和DDL文本编辑,不要链接到。 – philipxy