SQL

LINQ

Lambda

SELECT *FROM HumanResources.Employee

from e in Employees

select e

Employees .Select (e => e)

SELECT e.LoginID, e.JobTitle

FROM HumanResources.Employee AS e

from e in Employees

select new {e.LoginID, e.JobTitle}

Employees.Select (

      e => new {

            LoginID
= e.LoginID, 

            JobTitle
= e.JobTitle

         }

   )

SELECT e.LoginID AS ID, e.JobTitle AS
Title

FROM HumanResources.Employee AS e

from e in Employees

select new {ID = e.LoginID, Title =
e.JobTitle}

Employees.Select (

      e => new 

         {

            ID =
e.LoginID, 

            Title
= e.JobTitle

         }

   )

SELECT DISTINCT e.JobTitle

FROM HumanResources.Employee AS e

(from e in Employees

select e.JobTitle).Distinct()

Employees

   .Select (e => e.JobTitle)

   .Distinct ()

SELECT e.*

FROM HumanResources.Employee AS e

WHERE e.LoginID = 'test'

from e in Employees

where e.LoginID == "test"

select e

Employees

   .Where (e => (e.LoginID == "test"))

SELECT e.*

FROM HumanResources.Employee AS e

WHERE e.LoginID = 'test' AND
e.SalariedFlag = 1

from e in Employees

where e.LoginID == "test"
&& e.SalariedFlag

select e

Employees

   .Where (e => ((e.LoginID == "test") &&
e.SalariedFlag))

SELECT e.* FROM HumanResources.Employee
AS e

WHERE e.VacationHours >= 2 AND
e.VacationHours <= 10

from e in Employees

where e.VacationHours >= 2 &&
e.VacationHours <= 10

select e

Employees

   .Where (e => (((Int32)(e.VacationHours) >= 2) &&
((Int32)(e.VacationHours) <= 10)))

SELECT e.* FROM HumanResources.Employee
AS e

ORDER BY e.NationalIDNumber

from e in Employees

orderby e.NationalIDNumber

select e

Employees

   .OrderBy (e => e.NationalIDNumber)

SELECT e.* FROM HumanResources.Employee
AS e

ORDER BY e.HireDate DESC,
e.NationalIDNumber

from e in Employees

orderby e.HireDate descending,
e.NationalIDNumber

select e

Employees

   .OrderByDescending (e => e.HireDate)

   .ThenBy (e => e.NationalIDNumber)

SELECT e.* FROM HumanResources.Employee
AS e

WHERE e.JobTitle LIKE 'Vice%' OR
SUBSTRING(e.JobTitle, 0, 3) = 'Pro'

from e in Employees

where
e.JobTitle.StartsWith("Vice") || e.JobTitle.Substring(0, 3) ==
"Pro"

select e

Employees

   .Where (e => (e.JobTitle.StartsWith ("Vice") ||
(e.JobTitle.Substring (0, 3) == "Pro")))

SELECT SUM(e.VacationHours)

FROM HumanResources.Employee AS e

Employees.Sum(e => e.VacationHours);

SELECT COUNT(*) FROM
HumanResources.Employee AS e

Employees.Count();

SELECT SUM(e.VacationHours) AS
TotalVacations, e.JobTitle

FROM HumanResources.Employee AS e

GROUP BY e.JobTitle

from e in Employees

group e by e.JobTitle into g

select new {JobTitle = g.Key,
TotalVacations = g.Sum(e => e.VacationHours)}

Employees

   .GroupBy (e => e.JobTitle)

   .Select (

      g => new 

         {

            JobTitle
= g.Key, 

            TotalVacations
= g.Sum (e => (Int32)(e.VacationHours))

         }

   )

SELECT e.JobTitle, SUM(e.VacationHours)
AS TotalVacations

FROM HumanResources.Employee AS e

GROUP BY e.JobTitle

HAVING e.COUNT(*) > 2

from e in Employees

group e by e.JobTitle into g

where g.Count() > 2

select new {JobTitle = g.Key,
TotalVacations = g.Sum(e => e.VacationHours)}

Employees

   .GroupBy (e => e.JobTitle)

   .Where (g => (g.Count () > 2))

   .Select (

      g => 

         new 

         {

            JobTitle
= g.Key, 

            TotalVacations
= g.Sum (e => (Int32)(e.VacationHours))

         }

   )

SELECT *

FROM Production.Product AS p,
Production.ProductReview AS pr

from p in Products

from pr in ProductReviews

select new {p, pr}

Products

   .SelectMany (

      p => ProductReviews, 

      (p, pr) => 

         new 

         {

            p =
p, 

            pr =
pr

         }

   )

SELECT *

FROM Production.Product AS p

INNER JOIN Production.ProductReview AS
pr ON p.ProductID = pr.ProductID

from p in Products

join pr in ProductReviews on p.ProductID
equals pr.ProductID

select new {p, pr}

Products

   .Join (

      ProductReviews, 

      p => p.ProductID, 

      pr => pr.ProductID, 

      (p, pr) => 

         new 

         {

            p =
p, 

            pr =
pr

         }

   )

SELECT *

FROM Production.Product AS p

INNER JOIN Production.ProductCostHistory
AS pch ON p.ProductID = pch.ProductID AND p.SellStartDate = pch.StartDate

from p in Products

join pch in ProductCostHistories on new
{p.ProductID, StartDate = p.SellStartDate} equals new {pch.ProductID,
StartDate = pch.StartDate}

select new {p, pch}

Products

   .Join (

      ProductCostHistories, 

      p => 

         new 

         {

            ProductID
= p.ProductID, 

            StartDate
= p.SellStartDate

         }, 

      pch => 

         new 

         {

            ProductID
= pch.ProductID, 

            StartDate
= pch.StartDate

         }, 

      (p, pch) => 

         new 

         {

            p =
p, 

            pch =
pch

         }

   )

SELECT *

FROM Production.Product AS p

LEFT OUTER JOIN Production.ProductReview
AS pr ON p.ProductID = pr.ProductID

from p in Products

join pr in ProductReviews on p.ProductID
equals pr.ProductID

into prodrev

select new {p, prodrev}

Products

   .GroupJoin (

      ProductReviews, 

      p => p.ProductID, 

      pr => pr.ProductID, 

      (p, prodrev) => 

         new 

         {

            p =
p, 

            prodrev
= prodrev

         }

   )

SELECT p.ProductID AS ID

FROM Production.Product AS p

UNION

SELECT pr.ProductReviewID

FROM Production.ProductReview AS pr

(from p in Products

select new {ID = p.ProductID}).Union(

from pr in ProductReviews

select new {ID = pr.ProductReviewID})

Products

   .Select (

      p => 

         new 

         {

            ID =
p.ProductID

         }

   )

   .Union (

      ProductReviews

         .Select (

            pr
=> 

              
new 

              
{

                  ID
= pr.ProductReviewID

              
}

         )

   )

SELECT TOP (10) *

FROM Production.Product AS p

WHERE p.StandardCost < 100

(from p in Products

where p.StandardCost < 100

select p).Take(10)

Products

   .Where (p => (p.StandardCost < 100))

   .Take (10)

SELECT *

FROM [Production].[Product] AS p

WHERE p.ProductID IN(

SELECT
pr.ProductID

FROM
[Production].[ProductReview] AS [pr]

WHERE
pr.[Rating] = 5

)

from p in Products

where (from pr in ProductReviews

where pr.Rating == 5

select
pr.ProductID).Contains(p.ProductID)

select p

Products

   .Where (

      p => 

         ProductReviews

            .Where
(pr => (pr.Rating == 5))

            .Select
(pr => pr.ProductID)

            .Contains
(p.ProductID)

   )

SQL-LINQ-Lambda语法对照的更多相关文章

  1. SQL,LINQ,Lambda语法对照图(转载)

    如果你熟悉SQL语句,当使用LINQ时,会有似曾相识的感觉.但又略有不同.下面是SQL和LINQ,Lambda语法对照图 SQL LINQ Lambda SELECT * FROM HumanReso ...

  2. SQL,Linq,Lambda之间的转换练习

    1.查询Student表中的所有记录的Sname.Ssex和Class列. SQL:select sname,ssex,class from Students linq:from s in Stude ...

  3. sql linq lambda 对比

    . 查询Student表中的所有记录的Sname.Ssex和Class列. select sname,ssex,class from student Linq: from s in Students ...

  4. SQL-LINQ-Lambda 语法对照

    SQL LINQ Lambda  SELECT *FROM Employees from e in Employees  select e Employees .Select (e => e)  ...

  5. SQL/LINQ/Lamda 写法[转发]

    SQL LINQ Lambda SELECT * FROM HumanResources.Employee from e in Employees select e Employees   .Sele ...

  6. SQL Linq lamda区别

    SQL LINQ Lambda SELECT * FROM HumanResources.Employee from e in Employees select e Employees   .Sele ...

  7. SQL/LINQ/Lamda

    SQL LINQ Lambda SELECT * FROM HumanResources.Employee from e in Employees select e Employees   .Sele ...

  8. SQL-LINQ-Lambda语法对照,好记性不如烂笔头

    忘记的时候就翻阅翻阅吧~~ SQL LINQ Lambda SELECT *FROM HumanResources.Employee from e in Employees select e Empl ...

  9. LINQ之路 4:LINQ方法语法

    书写LINQ查询时又两种语法可供选择:方法语法(Fluent Syntax)和查询语法(Query Expression). LINQ方法语法是非常灵活和重要的,我们在这里将描述使用链接查询运算符的方 ...

随机推荐

  1. codevs 4511 信息传递(NOIP2015 day1 T2)

    4511 信息传递 NOIP2015 day1 T2 时间限制: 1 s 空间限制: 128000 KB 传送门 题目描述 Description 有个同学(编号为 1 到)正在玩一个信息传递的游戏. ...

  2. Binary Tree Inorder Traversal 解题思路 ×

    问题: 非递归中序遍历二叉树 思路: 1.大循环,判断节点是否为空,栈是否为空 2.不为空:点进栈,向左走 3.为空:为空,出栈,读取值,向右走

  3. iOS push全方位解析(二)【译文】"——生成OpenSSL证书,Provisioning Profile

    这是一篇来自raywenderlich的教程,内容翔实!结构简单透彻.讲解循序渐进.文章质量上乘!是一篇难的的博文!使用半瓶的英语水平翻译了一下: 1.[iOS push全方位解析](一) push的 ...

  4. 帝国cms在任意位置调用指定id的栏目名称和链接

    注意,这个代码无须放在灵动标签中,直接写入模板相应的位置就行了.[1]调用栏目名称: <?=$class_r[栏目ID]['classname']?>   示例:<?=$class_ ...

  5. 在Swift中使用libxml2

    // // main.swift // C150805_libxml2r2 // http://git.oschina.net/yao_yu/Swift2015/tree/master/C150805 ...

  6. 练习2 F题 - 平方和与立方和

      Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u   Description 给定一 ...

  7. Centos + nginx + JBOSS AS 7 搭建Java web application

    最近做了一个Java的web app,一直想在Centos环境中搭建一个完整的web服务器,现在开始动手. 先说说环境: 操作系统: Centos 6.3 WEB服务器: nginx-1.2.5 Ap ...

  8. Contest 20140923 潛行世界 拓撲排序,期望

    潜行世界 查看 提交 统计 提问 总时间限制:  10000ms 内存限制:  256000kB 描述 HJA和学弟还在旅游中,这次他们来到了潜行世界.潜行世界是一个N个点M条边的有向无环图.每条路对 ...

  9. iPhone开发 - 常用库

    iPhone开发 - 常用库 这里总结了iPhone开发者开发过程中可能需要的一些资源 如何用Facebook graphic api上传视频: http://developers.facebook. ...

  10. Warm up

    hdu4612:http://acm.hdu.edu.cn/showproblem.php?pid=4612 题意:给你一个无向连通图,问加上一条边后得到的图的最少的割边数; 题解:首先对原图求割边数 ...