Mysql SQL查询Ailas问题
这是我的问题。我只是不知道该从哪里开始。 列出每位员工的名字、姓氏和职务,以及其主管的名字、姓氏和职务;没有主管的员工的主管值应为空。仅将主管的列别名为SuperFirst、SuperLast和SuperTitle;列的顺序应为firstname、LastName、Title、SuperFirst、SuperLast和supertitle 这是ER图:Mysql SQL查询Ailas问题,mysql,sql,Mysql,Sql,这是我的问题。我只是不知道该从哪里开始。 列出每位员工的名字、姓氏和职务,以及其主管的名字、姓氏和职务;没有主管的员工的主管值应为空。仅将主管的列别名为SuperFirst、SuperLast和SuperTitle;列的顺序应为firstname、LastName、Title、SuperFirst、SuperLast和supertitle 这是ER图: 这里的问题是什么?请为我们提供一个明确的问题。 下面的例子供参考 LEFT Join返回所有员工所有有主管和没有主管的结果。那些没有的将在“S.
这里的问题是什么?请为我们提供一个明确的问题。 下面的例子供参考 LEFT Join返回所有员工所有有主管和没有主管的结果。那些没有的将在“S.*”列中有一个空值。这应该能满足你的需要
SELECT FirstName, LastName, Title, S.FirstName AS SuperFirst, S.LastName AS SupertLast, S.Title AS SuperTitle
FROM dbo.Employee E
LEFT JOIN dbo.Employee S ON E.ReportsTo = S.EmployeeID
这里的问题是什么?请为我们提供一个明确的问题。 下面的例子供参考 LEFT Join返回所有员工所有有主管和没有主管的结果。那些没有的将在“S.*”列中有一个空值。这应该能满足你的需要
SELECT FirstName, LastName, Title, S.FirstName AS SuperFirst, S.LastName AS SupertLast, S.Title AS SuperTitle
FROM dbo.Employee E
LEFT JOIN dbo.Employee S ON E.ReportsTo = S.EmployeeID
您正在下面的
Employee
表中查找自联接,因为它引用自身
SELECT emp.FirstName
,emp.LastName
,emp.Title
,super.FirstName as SuperFirst
,super.LastName as SuperLast
,super.Title as SuperTitle
FROM employee emp
LEFT JOIN employee super ON emp.reportsto = super.EmployeeId
ORDER BY 1
,2
,3
,4
,5
,6;
如果没有检索到匹配的值,
Left join
将在主管列中放置null
。您正在Employee
表中查找自联接,如下所示,因为它引用了自身
SELECT emp.FirstName
,emp.LastName
,emp.Title
,super.FirstName as SuperFirst
,super.LastName as SuperLast
,super.Title as SuperTitle
FROM employee emp
LEFT JOIN employee super ON emp.reportsto = super.EmployeeId
ORDER BY 1
,2
,3
,4
,5
,6;
如果没有检索到匹配的值,
Left join
将把null
放在Supervisor列中。就像前面提到的,当Left join没有匹配时,您应该能够得到null。这个代码应该可以工作
选择Employee.FirstName、Employee.LastName、Employee.Title、Emp.FirstName作为SuperFirst、Emp.LastName作为SuperLast、Emp.Title作为SupperTitle
从Employee LEFT JOIN Employee AS Emp ON Employee.ReportsTo=EmployeeTwo.EmployeeId
与前面提到的一样,当左入时,如果没有匹配项,则应该能够获取NULL。这个代码应该可以工作
选择Employee.FirstName、Employee.LastName、Employee.Title、Emp.FirstName作为SuperFirst、Emp.LastName作为SuperLast、Emp.Title作为SupperTitle
从Employee LEFT开始,在Employee.ReportsTo=EmployeeTwo.EmployeeId上以Emp身份加入Employee,抱歉,这里是(查询)问题。列出每位员工的名字、姓氏和职务,以及其主管的名字、姓氏和职务;没有主管的员工的主管值应为null。仅将主管的列别名为SuperFirst、SuperLast和SuperTitle;列的顺序应为FirstName、lastname、title、SuperFirst和S这是整个问题,我想我的主要问题是我不明白如何将员工和他们的主管联系起来,因为我没有看到任何主管属性。我在ER图表中没有看到主管表,并且字段没有正确命名以显示清楚的表关系。例如:如果员工表链接到客户表,则员工表的主键将为“ID”,而其在客户表中的外键将标记为“员工ID”。这是一般的SQL标准。不可否认,您的ER图使这比预期的要困难得多。仅举个例子,如果表是以这种方式关联的,则这将是一种执行此类SQL查询的方法。抱歉,这里是(查询)问题。列出每位员工的名字、姓氏和职务,以及其主管的名字、姓氏和职务;没有主管的员工的主管值应为null。仅将主管的列别名为SuperFirst、SuperLast和SuperTitle;列的顺序应为FirstName、lastname、title、SuperFirst和S这是整个问题,我想我的主要问题是我不明白如何将员工和他们的主管联系起来,因为我没有看到任何主管属性。我在ER图表中没有看到主管表,并且字段没有正确命名以显示清楚的表关系。例如:如果员工表链接到客户表,则员工表的主键将为“ID”,而其在客户表中的外键将标记为“员工ID”。这是一般的SQL标准。诚然,你的ER图让这比它想象的要困难得多。举个例子,如果表之间的关系是以这种方式编辑的,这将是一种SQL查询的方式。ORDER BY会如何影响这个查询?@JohnW:在你的问题中,您提到数据应该按FirstName、LastName、Title、SuperFirst、SuperLast和supertitle排序。因此,它会分别对数据进行排序。@JohnW:wae的查询将失败,并出现“FirstName column is dimensional”的情况。ORDER BY对该查询有何影响?@JohnW:在您的问题中,您提到数据应按FirstName、LastName、Title、SuperFirst、SuperLast和supertitle排序。因此,它会分别对数据进行排序。@JohnW:wae的查询将失败,并出现“FirstName column is dimensional”请分享您的努力,否则您的家庭作业将无法完成。请分享您的努力,否则您的家庭作业将无法完成。