Lấy mẫu tin đầu tiên trong bảng(Lấy sản phẩm đầu tiên trong bảng Products). Hai câu truy vấn sau đây trả về cùng kết quả.
var products = context.Products.FirstOrDefault(); var products = (from p in context.Products select p).Skip(0).Take(1); //Tương đương SELECT TOP 1 trong SQLLấy mẫu tin cuối cùng(Sản phẩm cuối cùng trong bảng Products).
var products = context.Products.LastOrDefault(); //LastOrDefault vẫn chưa đươc hỗ trợ trong .NET 3.5 var products = (from p in context.Products orderby p.ProductID descending select p).Skip(0).Take(1);Lấy sản phẩm cố định trong bảng Products.
Product products = context.Products.Single(p=>p.ProductID == 22);Lấy 10 sản phẩm đầu tiên trong bảng Products.
var products = (from p in context.Products select p).Take(10); //Tương đươngSELECT TOP 10 trong SQLLấy sản phẩm thứ 11 đến 20.
var products = (from p in context.Products select p).Skip(10).Take(10);Lấy tất cả các sản phẩm trong bảng Products.
var products = from p in context.Products select p; //Tương đương SELECT * trong SQLLấy các cột cố định trong bảng Products.
var products = from p in context.Products select new { p.ProductID, p.ProductName, p.UnitPrice, p.UnitsInStock, p.UnitsOnOrder };Thay đổi tiêu đề cột.
var products = from p in context.Products select new { MaSanPham = p.ProductID, TenSanPham =p.ProductName, DonGia = p.UnitPrice, SoLuong =p.UnitsInStock, SoLuongBan = p.UnitsOnOrder };//Tương đương Alias columnsSắp xếp các cột trong kết quả trả về.
var products = from p in context.Products orderby p.ProductID descending, p.ProductName//Tương đương ORDER BY trong SQL select new { p.ProductID, p.ProductName, p.UnitPrice, p.UnitsInStock, p.UnitsOnOrder };Loại bỏ các dòng dữ liệu trùng nhau.
var products = (from od in context.Order_Details join p in context.Products on od.ProductID equals p.ProductID select new { od.ProductID, p.ProductName}).Distinct(); //Tương đương SELECT DISTINCT trong SQLấy hóa đơn có sản phẩm bán là 7(ProductID = 7)
var customers = from od in context.Order_Details where od.ProductID == 7 select od;Lấy sản phẩm có đơn giá trong khoảng 20-30.
var products = from p in context.Products where p.UnitPrice >= 20 && p.UnitPrice <= 30//Tương đương BETWEEN trong SQL select new { p.ProductName, p.UnitPrice, p.UnitsInStock, p.UnitsOnOrder };Lấy tất cả các sản phẩm đã bán ra.
var products = from p in context.Products where (from od in context.Order_Detailsselect od.ProductID).Contains(p.ProductID) select new {p.ProductID, p.ProductName, p.UnitPrice, p.UnitsInStock, p.UnitsOnOrder };//Tương đương từ khóa IN trong SQLLấy tất cả các sản phẩm chưa bán ra.
var products = from p in context.Products where !(from od in context.Order_Details select od.ProductID).Contains(p.ProductID) //Tương đương từ khóa NOT IN trong SQL select new { p.ProductID, p.ProductName, p.UnitPrice, p.UnitsInStock, p.UnitsOnOrder };Lấy danh sách khách hàng có tên bắt đầu là “Sa”.
var customers = from c in context.Customers where c.CompanyName.StartsWith("Sa")//Tương đương LIKE 'Sa%' trong SQL select new { c.CustomerID, c.CompanyName, c.ContactName, c.City, c.Country };Lấy danh sách khách hàng có tên kết thúc bằng “es”.
var customers = from c in context.Customers where c.CompanyName.EndsWith("es")//Tương đương LIKE '%es' trong SQL select new { c.CustomerID, c.CompanyName, c.ContactName, c.City, c.Country };Lấy danh sách khách hàng có chứa chuỗi “sa” trong CompanyName.
var customers = from c in context.Customers where c.CompanyName.Contains("Sa")//Tương đương LIKE '%Sa%' trong SQL select new { c.CustomerID, c.CompanyName, c.ContactName, c.City, c.Country };Lấy danh sách khách hàng tại Anh và Pháp.
var customers = (from c in context.Customers where c.Country == "UK" select new { c.CustomerID, c.CompanyName, c.ContactName, c.City, c.Country }).Union(//Tương đương PHÉP HỢP UNION trong SQL from c in context.Customers where c.Country == "France" select new { c.CustomerID, c.CompanyName, c.ContactName, c.City, c.Country } );Lấy danh sách khách hàng có hóa đơn.
var customers = from c in context.Customers
join o in context.Orders on c.CustomerID equals o.CustomerID
//Tương đương INNER JOIN trong SQL
orderby c.CustomerID, o.OrderID
select new {
c.CustomerID,
o.OrderID,
OrderDate = o.OrderDate.Value.ToShortDateString(),
c.CompanyName,
c.City,
c.Country };
Lấy hóa đơn của khách hàng, bao gồm khách hàng không có hóa đơn.var customers = from c in context.Customers join o in context.Orders on c.CustomerID equals o.CustomerID into OD from o in OD.DefaultIfEmpty()//Tương đương OUTER JOIN trong SQL select new { CustomerID = c.CustomerID, CompanyName = c.CompanyName, OrderID = o == null ? 0 : o.OrderID };Đếm số hóa đơn đối với mỗi khách hàng
var customers = from c in context.Customers
select new { c.CustomerID, c.CompanyName, c.Orders.Count };
Đếm số hóa đơn đối với khách hàng có lớn hơn 5 hóa đơn.var customers = from c in context.Customers where c.Orders.Count >5 select new {c.CustomerID, c.CompanyName, c.Orders.Count };Đếm số hàng hóa trên mỗi hóa đơn và tính đơn giá bình quân của hóa đơn.
var orders = from od in context.Order_Details group od by od.OrderID into OD//Tương đương GROUP BY trong SQL orderby OD.Key select new { OrderID = OD.Key, ProductID = OD.Count(), UnitPrice = OD.Average(m => m.UnitPrice) };Đếm số hàng hóa trên mỗi hóa đơn và tính giá trị hóa đơn.
var orders = from od in context.Order_Details group od by od.OrderID into OD orderby OD.Key select new { OrderID = OD.Key, Product = OD.Count(), UnitPrice = OD.Sum(m => m.UnitPrice) };Lấy sản phẩm có giá bán cao nhất và thấp nhất trong mỗi hóa đơn.
var orders = from od in context.Order_Details group od by od.OrderID into OD orderby OD.Key select new { OrderID = OD.Key, MinPrice = OD.Min(m => m.UnitPrice), MaxPrice = OD.Max(m => m.UnitPrice) };Lấy giá bán cao nhất và thấp nhất của mỏi sản phẩm.
var orders = from od in context.Order_Details join p in context.Products on od.ProductID equals p.ProductID group od by new { p.ProductID, p.ProductName } into OD orderby OD.Key.ProductID select new { ProductID = OD.Key.ProductID, ProductName = OD.Key.ProductName, MaxPrice = OD.Max(m => m.UnitPrice), MinPrice = OD.Min(m => m.UnitPrice) }; Nguồn: http//vietshare.vn
0 nhận xét :