用于在两个表之间执行联接的MySql查询
以下是表格:用于在两个表之间执行联接的MySql查询,mysql,inner-join,Mysql,Inner Join,以下是表格: professor +-------+--------+--------+--------+------+ | empid | name | status | salary | age | +-------+--------+--------+--------+------+ | 1 | Arun | 1 | 2000 | 23 | | 2 | Benoy | 0 | 3000 | 25 | | 3 | Cha
professor
+-------+--------+--------+--------+------+
| empid | name | status | salary | age |
+-------+--------+--------+--------+------+
| 1 | Arun | 1 | 2000 | 23 |
| 2 | Benoy | 0 | 3000 | 25 |
| 3 | Chacko | 1 | 1000 | 36 |
| 4 | Divin | 0 | 5000 | 32 |
| 5 | Edwin | 1 | 2500 | 55 |
| 7 | George | 0 | 1500 | 46 |
+-------+--------+--------+--------+------+
works
+----------+-------+---------+
| courseid | empid | classid |
+----------+-------+---------+
| 1 | 1 | 10 |
| 2 | 2 | 9 |
| 3 | 3 | 8 |
| 4 | 4 | 10 |
| 5 | 5 | 9 |
| 6 | 1 | 9 |
+----------+-------+---------+
上面是我需要从中检索数据的表
问题是返回同时参加10级和10级考试的员工名单
九班
我写的问题是:
select professor.name
from inner join works
on professor.empid=works.empid
where works.classid=9 and works.classid=10;
我知道我想要的结果是Arun
,但我不知道检索所需结果的确切查询应该是什么。试试这个
select professor.name
from professor inner join works
on professor.empid=works.empid
where works.classid=9 OR works.classid=10;
(或)
他想要参加9班和10班的教授。因此,作品中有两个不同的记录需要匹配
select professor.name from professor
join works A on A.empid=professor.empid and A.classid=9
join works B on B.empid=professor.empid and B.classid=10
请参见您的查询返回的是什么?返回的是空集。我知道我尝试的查询是不正确的。我不知道怎么做。请帮助。您的第一个查询与Francis S相同,中的第二个查询将不起作用,因为他正在查找这两个类。@SureshKamrushi第一个查询不同,如果您找不到差异,请询问我,而不是DownVoting。这将给我所需的结果。非常感谢:)再次感谢您的网站链接:)
SELECT prof.name FROM professor AS prof
JOIN works
ON prof.empid = works.empid
WHERE works.classid IN (9, 10);
select professor.name from professor
join works A on A.empid=professor.empid and A.classid=9
join works B on B.empid=professor.empid and B.classid=10