程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> 數據庫組件 Hxj.Data (十四) (聯合查詢)

數據庫組件 Hxj.Data (十四) (聯合查詢)

編輯:關於ASP.NET

聯合查詢在前面的例子中已經出現過,只不過沒有細說。

先來個例子吧

DbSession.Default.From<Customers>()
         .InnerJoin<Orders>(Customers._.CustomerID == Orders._.CustomerID)
         .ToDataTable();

生成的sql

Text:
SELECT * FROM [Customers] INNER JOIN [Orders] ON ([Customers].[CustomerID] = [Orders].[CustomerID])

是非常簡單操作就完成了。

方法 聯合查詢(sql) InnerJoin inner join LeftJoin left join RightJoin right join CrossJoin cross join FullJoin full join Union union UnionAll union all

還是上例子清爽一些

DbSession.Default.From<Customers>()
         .LeftJoin<Orders>(Customers._.CustomerID == Orders._.CustomerID)
         .Where(Customers._.Country == "USA")
         .ToDataTable();

生成的sql

Text:
SELECT * FROM [Customers]
LEFT OUTER JOIN [Orders]
ON ([Customers].[CustomerID] = [Orders].[CustomerID])
WHERE [Customers].[Country] = @e3c66f9aa65c498abfd76908621b567a
Parameters:
@e3c66f9aa65c498abfd76908621b567a[String] = USA

InnerJoin、LeftJoin、RightJoin、CrossJoin、FullJoin這個操作都是類似的。

三個表及以上關聯例如

DbSession.Default.From<Customers>()
         .InnerJoin<Orders>(Customers._.CustomerID == Orders._.CustomerID)
         .InnerJoin<Order_Details>(Order_Details._.OrderID == Orders._.OrderID)
         .Where(Customers._.Country == "USA")
         .ToDataTable();

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved