首页 > 产品 > NObject > OQL - Select

单表查询(所有字段)

SelectQuery sel = OQL

  .Select(NW.Order)

  .From(NW.Order)

  .Where(OQL

    .Criteria(NW.Order.EmployeeID).EQ(5)

    .And(NW.Order.ShipVia).EQ(1)

  );

== SQL for MS Sql Server ==

SELECT [Orders].*

FROM [Orders]

WHERE

  [Orders].[EmployeeID] = 5 AND

  [Orders].[ShipVia] = 1

== SQL for Oracle ==

SELECT "Orders".*

FROM "Orders"

WHERE

  "Orders"."EmployeeID" = 5 AND

  "Orders"."ShipVia" = 1

单表查询(列举字段)

SelectQuery sel = OQL

  .Select(NW.Order.OrderID, NW.Order.OrderDate, NW.Order.RequiredDate)

  .From(NW.Order)

  .Where(NW.Order.EmployeeID == 5 & NW.Order.ShipVia == 1);

== SQL for MS Sql Server ==

SELECT

  [Orders].[OrderID] , [Orders].[OrderDate] , [Orders].[RequiredDate]

FROM [Orders]

WHERE

  [Orders].[EmployeeID] = 5 AND

  [Orders].[ShipVia] = 1

多表查询

SelectQuery sel = OQL

  .Select(NW.Order.OrderID, NW.Order.OrderDate, NW.Order.RequiredDate)

    ._(NW.OrderDetail)

  .From(NW.Order, NW.OrderDetail)

  .Where(NW.Order.EmployeeID == 5 & NW.Order.ShipVia == 1

    & NW.Order.OrderID == NW.OrderDetail.OrderID);

== SQL for MS Sql Server ==

SELECT

  [Orders].[OrderID] , [Orders].[OrderDate] , [Orders].[RequiredDate] ,

  [Order Details].*

FROM

  [Orders] , [Order Details]

WHERE

  [Orders].[EmployeeID] = 5 AND

  [Orders].[ShipVia] = 1 AND

  [Orders].[OrderID] = [Order Details].[OrderID]

多表Join查询

SelectQuery sel = OQL

  .Select(NW.Order.OrderID, NW.Order.OrderDate, NW.Order.RequiredDate)

    ._(NW.OrderDetail)

  .From(NW.Order)

  .InnerJoin(NW.OrderDetail)

    .On(NW.Order.OrderID == NW.OrderDetail.OrderID)

  .Where(NW.Order.EmployeeID == 5

    && NW.Order.ShipVia == 1

  );

== SQL for MS Sql Server ==

SELECT

  [Orders].[OrderID] , [Orders].[OrderDate] , [Orders].[RequiredDate] ,

  [Order Details].*

FROM [Orders]

  INNER JOIN

    [Order Details]

    ON

      [Orders].[OrderID] = [Order Details].[OrderID]

WHERE

  [Orders].[EmployeeID] = 5 AND

  [Orders].[ShipVia] = 1

子查询

SelectQuery sel = OQL

  .Select(NW.Order.OrderID, NW.Order.OrderDate, NW.Order.RequiredDate)

  .From(NW.Order)

  .Where(NW.Order.CustomerID.In(OQL

      .Select(NW.Customer.CustomerID)

      .From(NW.Customer)

      .Where(NW.Customer.ContactTitle == "Owner")

    )

  );

== SQL for MS Sql Server ==

SELECT

  [Orders].[OrderID] , [Orders].[OrderDate] , [Orders].[RequiredDate]

FROM [Orders]

WHERE

  [Orders].[CustomerID] IN

    (

      SELECT [Customers].[CustomerID]

      FROM [Customers]

      WHERE

        [Customers].[ContactTitle] = 'Owner'

    )

子查询(分解)

SelectQuery subSel = OQL

  .Select(NW.Customer.CustomerID)

  .From(NW.Customer)

  .Where(NW.Customer.ContactTitle == "Owner");

 

SelectQuery sel = OQL

  .Select(NW.Order.OrderID, NW.Order.OrderDate, NW.Order.RequiredDate)

  .From(NW.Order)

  .Where(NW.Order.CustomerID.In(subSel));

== SQL for MS Sql Server ==

SELECT

  [Orders].[OrderID] , [Orders].[OrderDate] , [Orders].[RequiredDate]

FROM [Orders]

WHERE

  [Orders].[CustomerID] IN

    (

      SELECT [Customers].[CustomerID]

      FROM [Customers]

      WHERE

        [Customers].[ContactTitle] = 'Owner'

    )

概述
特点
系统需求
OQL In Action
C# 代码示例
  OQL - Select
  OQL - Update
  OQL - Insert
  OQL - Delete
  OQL - Case
  OQL - Other
  动态构造
VB.NET 代码示例
下载
购买