如何从SQL表中选择特定行并在SQL Server中连接多个表?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何从SQL表中选择特定行并在SQL Server中连接多个表?相关的知识,希望对你有一定的参考价值。
我正在使用Northwind数据库来学习SQL服务器。我正在尝试运行SQL查询,以便我可以从Employees表中选择特定员工(EmployeeID = 1),以及从Orders表中与员工关联的每个订单,它是如何发货(发货通过),运送它的公司,从订单日期到发货日期的总天数。为此,我有以下查询,我不确定我的查询是否正确。任何人都可以验证吗?
我试过运行以下查询
SELECT Employees.EmployeeID,
Orders.OrderID,DATEDIFF(DAY,Orders.OrderDate,Orders.ShippedDate) AS 'Date
Diff',
Orders.ShipVia,Shippers.ShipperID,Shippers.CompanyName FROM Employees
LEFT JOIN Orders ON Employees.EmployeeID=Orders.EmployeeID
LEFT JOIN Shippers ON Orders.ShipVia=Shippers.ShipperID
WHERE Employees.EmployeeID =1
GROUP BY
Orders.ShipVia,Shippers.ShipperID,Shippers.CompanyName,Employees.EmployeeID,Orders.OrderID,Orders.OrderDate,Orders.ShippedDate
以下是使用GROUP BY子句的一些规则 -
1)SELECT语句子句,它将查询结果划分为行组,通常用于在每个组上执行一个或多个聚合。 SELECT语句每组返回一行。
2)指定列上的列或非聚合计算。此列可以属于表,派生表或视图。该列必须出现在SELECT语句的FROM子句中,但不需要出现在SELECT列表中。
3)该列必须出现在SELECT语句的FROM子句中,但不需要出现在SELECT列表中。但是,列表中任何非聚合表达式中的每个表或视图列都必须包含在GROUP BY列表中
这些是与SQL Server相关的文档中的一些重要点
希望这可以解决您的问题或清除您的概念。
更多信息,请访问https://docs.microsoft.com/en-us/sql/t-sql/queries/select-group-by-transact-sql?view=sql-server-2017
以上是关于如何从SQL表中选择特定行并在SQL Server中连接多个表?的主要内容,如果未能解决你的问题,请参考以下文章
SQL Server:从一个表中复制新添加的行并自动插入到另一个表中
如何从 SQL Server 中特定数据库的表中获取所有列名?
My SQL with Python:选择具有最高值的行并在那里更改值