Visual C# 2008+SQL Server 2005 数据库与网络开发--4.4.3 联合查询

    联合查询是指通过SQL的语句,将多个查询的结果组合到一起之后,再对组合之后的结果进行查询的一种方式。联合查询包括使用UNION查询和使用JOIN查询。

注意:使用UNION关键字,可以在一个结果表中包含两个SELECT语句的结果。任一SELECT语句返回的所有行都可合并到UNION表达式的结果中。

比如要查询产品ID小于400,并且大于等于300的所有产品的产品信息,除了可以使用上一节介绍的and条件语句之外,还可以使用如下SQL语句。

SELECT * from Production.Product WHERE ProductID >= 300

union SELECT * from Production.Product WHERE ProductID < 400

由于UNION返回的是一个查询结果集,所以还可以基于这个结果集再次进行查询。

JOIN查询表示将多个表的某几个字段列进行条件关联之后,将满足关联的所有记录全部查询出来。使用JOIN语句的时候,需要首先关联表的名称,然后通过ON语句,将关联表之间的字段关系指定出来。比如需要查询SalesORDERDetail表中的产品,如果产品的单价小于Product表中的价格,同时产品ID727的所有产品信息,可以使用如下SQL语句。

SELECT DISTINCT p.ProductID, p.Name, p.ListPrice, sd.UnitPrice

FROM Sales.SalesORDERDetail AS sd

    JOIN Production.Product AS p

    ON sd.ProductID = p.ProductID AND sd.UnitPrice < p.ListPrice

WHERE p.ProductID = 727;

posted on 2008-05-27 17:12  我的CSHARP  阅读(215)  评论(0编辑  收藏  举报