Mysql 带有JOIN和WHERE子句的SQL语句

Mysql 带有JOIN和WHERE子句的SQL语句,mysql,Mysql,我是SQL新手,尝试用两个表Employee和Department来解决这个问题。我想显示“人力资源”和“销售”部门所有员工的姓名。 表格为员工(emp\u id、emp\u name、dept\u id)和部门(dept\u id、dept\u name) 谢谢 试试这个: Select e.emp_name from Employee e inner join Department d on e.dept_id = d.dept_id Where d.dept_name in ('HR',

我是SQL新手,尝试用两个表Employee和Department来解决这个问题。我想显示“人力资源”和“销售”部门所有员工的姓名。 表格为员工(emp\u id、emp\u name、dept\u id)部门(dept\u id、dept\u name)

谢谢

试试这个:

Select e.emp_name from 
Employee e inner join Department d
on e.dept_id = d.dept_id
Where d.dept_name in ('HR','Sales');

此查询将比较
Employee
表和
Department
表的
depart\u id
。将返回匹配的值。然后从所有字段中选择
emp_name
,并使用
where
子句限制属于
HR
Sales
部门的员工。

因为您只想显示员工数据,所以只能从该表中选择。剩下的就是标准。您希望他们的部门是“HR”或“Sales”,因此直接的书写方式是IN子句(您也可以使用EXISTS子句):

select Employee.emp_name [Emplyee Name] from Employee inner join Department on Department.dept_id=Emplyee.emp_id where Department.dept_name='HR'

我认为这比先加入表更容易阅读,只是将一个表用作另一个表的过滤器。

你可以得到这样的结果

SELECT [emp_name] FROM [dbo].[Employee] AS E
INNER JOIN [dbo].[Department] AS D
ON D.dept_id=E.dept_id
WHERE D.dept_name='HR' OR D.dept_name='Sales'

谢谢兄弟!这就行了,我实际上把这个问题中的“where”条款弄糊涂了。谢谢你非常欢迎:)请投票,如果有用的话请接受答案:)抱歉再次打扰你,实际上我正试图用不同的scnerios来探讨这些问题,但是用相同的表格,并且遇到了一些不同类型的问题。如何显示超过10名员工的所有部门名称。谢谢尝试以下操作:从员工e中选择d.dept\u name,按d.dept\u name有计数(*)加入e.dept\u id=d.dept\u id组中的d.dept\u name20@user2439492这是一个完全不同的问题。试着先自己解决它。如果它不起作用,问一个新问题,说明你尝试了什么,你在哪里遇到了困难。下次你应该表现出你自己的努力。你自己肯定有一些想法,但由于某种原因没有奏效。或者你没试过什么吗?就像我写的我在问之前试过这些问题。下次我会记住你的指示。无论如何,谢谢!
SELECT [emp_name] FROM [dbo].[Employee] AS E
INNER JOIN [dbo].[Department] AS D
ON D.dept_id=E.dept_id
WHERE D.dept_name='HR' OR D.dept_name='Sales'