您的位置:首页 > 数据库

SQL/LINQ/Lamda

2015-06-23 14:31 387 查看



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)

)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: