【发布时间】:2020-06-15 15:04:01
【问题描述】:
我有以下两张表
Table 1: employee
+----+---------+--------+--------+------+-------+------+----------+
| No | Name | Salary | Zone | Age | Grade | Dept | HireDate |
+----+---------+--------+--------+------+-------+------+----------+
| 1 | Mukul | 30000 | West | 28 | A | 10 | NULL |
| 2 | Kritika | 35000 | Centre | 30 | A | 10 | NULL |
| 3 | Naveen | 35200 | West | 40 | B | 20 | NULL |
| 4 | Uday | 41800 | North | 38 | C | 30 | NULL |
| 5 | Nupur | 32000 | East | 26 | B | 20 | NULL |
| 6 | Moksh | 37000 | South | 28 | B | 10 | NULL |
| 7 | Shelly | 36000 | North | 26 | A | 30 | NULL |
+----+---------+--------+--------+------+-------+------+----------+
Table 2:department
+------+---------+--------+--------+------+
| Dept | Dname | Minsal | Maxsal | HoD |
+------+---------+--------+--------+------+
| 10 | Sales | 25000 | 32000 | 1 |
| 20 | Finance | 30000 | 50000 | 5 |
| 30 | Admin | 25000 | 40000 | 7 |
+------+---------+--------+--------+------+
假设我想显示在销售部门工作的所有员工的详细信息。
我试过INNER JOIN
SELECT *
FROM employee AS A
INNER JOIN department AS B
ON A.Dept = B.Dept AND B.Dname = "Sales";
这显示了这个表
+----+---------+--------+--------+------+-------+------+----------+------+-------+--------+--------+------+
| No | Name | Salary | Zone | Age | Grade | Dept | HireDate | Dept | Dname | Minsal | Maxsal | HoD |
+----+---------+--------+--------+------+-------+------+----------+------+-------+--------+--------+------+
| 1 | Mukul | 30000 | West | 28 | A | 10 | NULL | 10 | Sales | 25000 | 32000 | 1 |
| 2 | Kritika | 35000 | Centre | 30 | A | 10 | NULL | 10 | Sales | 25000 | 32000 | 1 |
| 6 | Moksh | 37000 | South | 28 | B | 10 | NULL | 10 | Sales | 25000 | 32000 | 1 |
+----+---------+--------+--------+------+-------+------+----------+------+-------+--------+--------+------+
如您所见,Dept 列显示了两次。
所以这是我的问题
1. 同名列如何只显示一次?
2. 除了INNER JOIN 之外,还有什么方法可以做到这一点,即有更好的方法吗?
【问题讨论】:
-
你需要更具体。你期望什么输出?
-
@juergend 我已经编辑了问题并包含了输出,但 Dept 列显示了两次。我希望它只显示一次。
-
SELECT A.*, B.Dname, B.Minsal, B.Maxsal, B.HoD FROM ... -
@Nick 是的,这完成了工作。谢谢。
标签: mysql