比較

SQL

SELECT *

FROM Employee

SELECT e.ID, e.Name

FROM Employee AS e

或いは

SELECT e.ID AS ID, e.Name AS Name

FROM Employee AS e

SELECT DISTINCT e.ID

FROM Employee AS e

SELECT e.*

FROM Employee AS e

WHERE e.ID = '001'

SELECT e.* FROM Employee AS e

WHERE e.ID = '001' AND e.DelFlg = 1

SELECT e.*

FROM Employee AS e

WHERE e.Start >= 3 AND e.End <= 9

或いは

SELECT e.*

FROM Employee AS e

WHERE e.Score BETWEEN 3 AND 9

SELECT e.*

FROM Employee AS e

ORDER BY e.ID

SELECT e.*

FROM Employee AS e

ORDER BY e.ID ASC, e.Date DESC

SELECT e.*

FROM Employee AS e

WHERE e.Name LIKE 'M%' OR SUBSTRING(e.Name, 0, 4) = 'Mike'

SELECT SUM(e.Salary)

FROM Employee AS e

SELECT COUNT(*)

FROM Employee AS e

SELECT COUNT(*)

FROM Employee AS e

WHERE e.Department = '101'

SELECT AVG(e.Score)

FROM Employee AS e

WHERE e.Department = '101'

SELECT e.Department, SUM(e.Salary) AS SalarySum

FROM Employee AS e

GROUP BY e.Department

SELECT e.Department, SUM(e.Salary) AS SalarySum

FROM Employee AS e

GROUP BY e.Department

HAVING e.COUNT(*) > 2

SELECT *

FROM Employee AS e, EmployeeDetail AS ed

SELECT *

FROM Employee AS e

INNER JOIN EmployeeDetail AS ed

ON e.ID = ed.ID

LINQ

from e in Employees

select e

from e in Employees

select new {e.ID, e.Name}

或いは

from e in Employees

select new

{

ID = e.ID,

Name = e.Name

}

(from e in Employees

select e.ID).Distinct()

或いは

from e in Employees.Distinct()

select e.ID

from e in Employees

where e.ID == "001"

select e

from e in Employees

where e.ID == "001" && e.DelFlg

select e

from e in Employees

where e.Start >= 3 && e.End <= 9

select e

from e in Employees

orderby e.ID

select e

from e in Employees

orderby e.Date descending, e.ID

select e

或いは

from e in Employees

orderby e.Date descending,

orderby e.ID ascending -- ASCの方が外側

select e

from e in Employees

where e.Name.StartsWith("M") || e.Name.Substring(0, 4) = "Mike"

select e

(from e in Employees

where e.Department == "101"

select e).Count()

(from e in Employees

where e.Department == "101"

select e.Score).Average()

from e in Employees

group e by e.Department into g

select new

{

Department = g.Key,

SalarySum = g.Sum(e => e.Salary)

}

from e in Employees

group e by e.Department into g

where g.Count() > 2

select new

{

Department = g.Key,

SalarySum = g.Sum(e => e.Salary)

}

from e in Employees

from ed in EmployeesDetail

select new{e, ed}

from e in Employees

join ed in EmployeesDetail

on e.ID equals ed.ID

select new{e, ed}

Lambda

Employees

.Select(e => e)

Employees

.Select

(

e => new

{

ID = e.ID,

Name = e.Name

}

)

Employees

.Select(e => e.ID)

.Distinct()

Employees

.Where(e => e.ID == "001")

Employees

.Where(e => (e.ID == "001") && e.DelFlg)

Employees

.Where(e => ((Int32)e.Start >= 3) && ((Int32)e.End >= 9))

Employees

.OrderBy(e => e.ID)

Employees

.OrderByDescending(e => e.Date)

.ThenBy(e => e.ID)

或いは

Employees

.OrderByDescending(e => e.Date)

.OrderBy(e => e.ID)

Employees

.Where(e => e.Name.StartsWith("M") || (e.Name.Substring(0, 4) == "Mike"))

Employees

.Sum(e => e.Salary)

Employees.Count()

Employees

.Where(e => e.Department == "101")

.Select(e => e)

.Count()

Employees

.Where(e => e.Department == "101")

.Select(e => e.Score)

.Average()

Employess

.GroupBy(e => e.Department)

.Select

(

g => new

{

Department = g.Key,

SalarySum = g.Sum(e => (Int32)e.Salary)

}

)

Employess

.GroupBy(e => e.Department)

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

.Select

(

g => new

{

Department = g.Key,

SalarySum = g.Sum(e => (Int32)e.Salary)

}

)

Employees

.SelectMany

(

e => EmployeesDetail,

(e, ed) => new

{

e = e,

ed = ed

}

)

Employees

.Join

(

EmployeesDetail,

e => e.ID,

ed => ed.ID,

(e, ed) => new

{

e = e,

ed = ed

}

)