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. nodejs框架express4.x 学习--安装篇

    一.安装建立项目 1.安装nodejs 2.安装express(全局) npm install -g express 默认安装的是4.12.4 3.由于在3.6版本之后项目构建器被单独拆分出来,所以还 ...

  2. windows phone 之笔势

    笔势: Windows Phone 用户可以使用触控笔势与他们的手机进行交互.触控笔势被定义为用户在触摸屏上使用单个或多个手指发起的运动.Windows Phone 上支持的控件都可以识别笔势.这些控 ...

  3. linux 的一个防火墙策略

    #警告:在运行脚本后,勿必单独运行 iptables -F#因为脚本包含的默认规则为“禁止所有访问”#当其它规则被清除后,系统表现为无法访问状态,需要重启系统恢复#iptables -L 查看当前已应 ...

  4. PHP设计模式之:装饰模式

    <?php// 人类class Person{    private $name;    public function __construct($name)    {        $this ...

  5. Coursera《machine learning》--(14)数据降维

    本笔记为Coursera在线课程<Machine Learning>中的数据降维章节的笔记. 十四.降维 (Dimensionality Reduction) 14.1 动机一:数据压缩 ...

  6. fineuploader 上传jquery 控件

    fineuploader 昨天用的一个jquery插件. 可参考这篇文章以前写的 file-uploader  跟 这个跟里面介绍的2个jquery 插件相比.觉得更强大写..版本号都3.9 了….. ...

  7. websphere性能设置和日常维护

    一. 确认磁盘空间是否满足要求1. WebSphere 应用服务器自身代码的占用空间.这个空间一般在1G左右,在不同的系统平台上略有差异. 2. 概要文件所占的空间.WebSphere应用服务器V6. ...

  8. Angular 2 npm start 报错

    首先, index.html 和styles.css是和app目录平级的, 不要扔到里面去, 否则会404 确认配置文件齐全, 路径都正确之后 npm start What?! 照着快速起步也会弄错吗 ...

  9. ZOOKEEPER在CENTOS6上的再安装

    作DUBBO时,肯定是需要的,,对的,,DUBBO也要熟悉一下才行啦.. URL: http://www.centoscn.com/CentosServer/test/2015/0120/4531.h ...

  10. [转载]# Ajax异步请求阻塞情况的解决办法

    最近使用ExtJs4的mvc模式在开发了在线漫画的后台,因为异步请求比较多,有的回应时间长,有点短.我发现在多次并发的情况下,会造成阻塞的情况.也就是说如果回应时间长的请求还在进行中,短的请求却被挂起 ...