电脑安全

您当前的位置:主页 > 电脑安全 >

sql where条件语句用法-网络编程

来源:[db:来源]标题:   语句    编辑:电脑技术全能网 时间:2019-09-23 06:23

原标题:sql where条件语句用法-网络编程
   这里简略的先容了where前提语句Transact-SQL 语句都能够改用连接表现。其余成绩只能经过子查问提出。在 Transact-SQL 中,包括子查问的语句和语义下等效的不包括子查问的语句在机能上平日没有差异 SELECT、INSERT、UPDATE 或 DELETE 语句或其余子查问中的查问。任何同意应用表白式的处所都能够应用子查问。在此示例中,子查问用作 SELECT 语句中名为 MaxUnitPrice 的列表白式。 代码以下复制代码 otherUSE AdventureWorks2008R2;GOSELECT Ord.SalesOrderID, Ord.OrderDate, (SELECT MAX(OrdDet.UnitPrice) FROM AdventureWorks.Sales.SalesOrderDetail AS OrdDet WHERE Ord.SalesOrderID = OrdDet.SalesOrderID) AS MaxUnitPriceFROM AdventureWorks2008R2.Sales.SalesOrderHeader AS Ord 子查问也称为外部查问或外部抉择,而包括子查问的语句也称为内部查问或内部抉择。很多包括子查问的 Transact-SQL 语句都能够改用连接表现。其余成绩只能经过子查问提出。在 Transact-SQL 中,包括子查问的语句和语义下等效的不包括子查问的语句在机能上平日没有差异。然而,在一些必需检讨存在性的情形中,应用连接会发生更好的机能。不然,为确保打消反复值,必需为内部查问的每个成果都处置嵌套查问。以是在这些情形下,连接方法会发生更好的后果。以下示例表现了前往雷同成果集的 SELECT 子查问和 SELECT 连接: 代码以下复制代码 other/* SELECT statement built using a subquery. */SELECT NameFROM AdventureWorks2008R2.Production.ProductWHERE ListPrice = (SELECT ListPrice FROM AdventureWorks2008R2.Production.Product WHERE Name = 'Chainring Bolts' );/* SELECT statement built using a join that returns the same result set. */SELECT Prd1. NameFROM AdventureWorks2008R2.Production.Product AS Prd1 JOIN AdventureWorks2008R2.Production.Product AS Prd2 ON (Prd1.ListPrice = Prd2.ListPrice)WHERE Prd2. Name = 'Chainring Bolts'; 嵌套在内部 SELECT 语句中的子查问包含以下组件:包括惯例抉择列表组件的惯例 SELECT 查问。包括一个或多个表或视图称号的惯例 FROM 子句。可选的 WHERE 子句。可选的 GROUP BY 子句。可选的 HAVING 子句。子查问的 SELECT 查问老是应用圆括号括起来。它不能包括 COMPUTE 或 FOR BROWSE 子句,假如同时指定了 TOP 子句,则只能包括 ORDER BY 子句。子查问能够嵌套在内部 SELECT、INSERT、UPDATE 或 DELETE 语句的 WHERE 或 HAVING 子句内,也能够嵌套在其余子查问内。只管依据可用内存和查问中其余表白式的庞杂水平的差别,嵌套限度也有所差别,但嵌套到 32 层是能够的。一般查问能够不支撑 32 层嵌套。任何能够应用表白式的处所都能够应用子查问,只有它前往的是单个值。假如某个表只呈现在子查问中,而没有呈现在内部查问中,那末该表中的列就无奈包括在输入(内部查问的抉择列表)中。包括子查问的语句平日采纳以下格局中的一种: 代码以下复制代码 WHERE expression [NOT] IN (subquery)WHERE expression comparison_operator [ANY | ALL] (subquery)WHERE [NOT] EXISTS (subquery)

上一篇:PHP XML-RPC 的使用-网络编程

下一篇:没有了