Linq To Sql 语法 子查询 & In & Join
子查询
描述:查询订单数超过5的顾客信息
查询句法:
|
var
子查询 =from cin ctx.Customers where
(from oin ctx.Ordersgroup oby o.CustomerIDinto owhere o.Count() > 5select o.Key).Contains(c.CustomerID)
select c;
|
in
操作
描述:查询指定城市中的客户
查询句法:
var in操作 = from c in ctx.Customers
wherenewstring[] { "Brandenburg", "Cowes", "Stavern" }.Contains(c.City) select c;
Join
描述:内连接,没有分类的产品查询不到
查询句法:
|
var
innerjoin =from pin ctx.Products join cin ctx.Categories
on p.CategoryID equals c.CategoryID
select p.ProductName;
|
描述:外连接,没有分类的产品也能查询到
查询句法:
|
var
leftjoin =from pin ctx.Products join cin ctx.Categories
on p.CategoryID equals c.CategoryID
into pro
from xin pro.DefaultIfEmpty()
select p.ProductName;
|
|
1.简单形式:
var q = from p in db.Products group p by p.CategoryID into g select g; 语句描述:使用Group By按CategoryID划分产品。 说明:from p in db.Products var q = 如果想遍历某类别中所有记录,这样: foreach (var 如果想遍历某匿名类中所有记录,要这么做: foreach 说明:先按CategoryID归类,判断各个分类产品中单价最大的Products。取出CategoryID值,并把UnitPrice值赋给MaxPrice。 4.最小值 说明:先按CategoryID归类,判断各个分类产品中单价最小的Products。取出CategoryID值,并把UnitPrice值赋给MinPrice。 5.平均值 说明:先按CategoryID归类,取出CategoryID值和各个分类产品中单价的平均值。 6.求和 说明:先按CategoryID归类,取出CategoryID值和各个分类产品中单价的总和。 7.计数 说明:先按CategoryID归类,取出CategoryID值和各个分类产品的数量。 8.带条件计数 说明:先按CategoryID归类,取出CategoryID值和各个分类产品的断货数量。 9.Where限制 说明:在翻译成SQL语句时,在最外层嵌套了Where条件。 10.多列(Multiple 说明:既按产品的分类,又按供应商分类。在by后面,new出来一个匿名类。这里,Key其实质是一个类的对象,Key包含两个Property:CategoryID、SupplierID。用g.Key.CategoryID可以遍历CategoryID的值。 11.表达式(Expression) 说明:按产品单价是否大于10分类。其结果分为两类,大于的是一类,小于及等于为另一类。 Exists/In/Any/All/Contains操作符 Any 1.简单形式: var SELECT [t0].[CustomerID], [t0].[CompanyName], var q SELECT [t0].[CategoryID], 1.带条件形式 Contains string[] var q = ( var q = ( 2.包含多个值: 总结一下这篇我们说明了以下语句: Group 适用场景:统计数据吧,比如统计一些数据的个数,求和,最小值,最大值,平均数。 Count 1.简单形式: var q = var q = var q = 1.简单形式: var q = db.Orders.Select(o var q = 1.简单形式: var q = db.Products.Select(p => var q = db.Orders.Min(o var categories 1.简单形式: var q = db.Employees.Select(e => var q = db.Products.Max(p var categories 1.简单形式: var q = db.Orders.Select(o var q = var categories |
Linq To Sql 语法 子查询 & In & Join的更多相关文章
- SQL的子查询与JOIN的小试牛刀
//学生表CREATE TABLE student( ID INT PRIMARY KEY, s_name ) NOT NULL, class_id INT NOT NULL); , "qf ...
- Linq to SQL 语法查询(链接查询,子查询 & in操作 & join,分组统计等)
Linq to SQL 语法查询(链接查询,子查询 & in操作 & join,分组统计等) 子查询 描述:查询订单数超过5的顾客信息 查询句法: var 子查询 = from c i ...
- FreeSql (二十四)Linq To Sql 语法使用介绍
原本不支持 IQueryable 主要出于使用习惯的考虑,如果继承 IQueryable,编写代码的智能总会提示出现一堆你不想使用的方法(对不起,我有强迫症),IQueryable 自身提供了一堆没法 ...
- LINQ to SQL系列四 使用inner join,outer join
先看一个最简单的inner join,在读取Student表时inner join Class表取的对应的Class信息: static void Main(string[] args) { usin ...
- 数据库子查询和join的比较
子查询进行SELECT语句嵌套查询,可以一次完成很多逻辑上需要多个步骤才能完成的SQL操作.子查询虽然很灵活,但是执行效率并不高. select goods_id,goods_name from go ...
- SQL Fundamentals: 子查询 || 分析函数(PARTITION BY,ORDER BY, WINDOWING)
SQL Fundamentals || Oracle SQL语言 子查询(基础) 1.认识子查询 2.WHERE子句中使用子查询 3.在HAVING子句中使用子查询 4.在FROM子句中使用子查询 5 ...
- SQL Fundamentals: 子查询 || WHERE,HAVING,FROM,SELECT子句中使用子查询,WITH子句
SQL Fundamentals || Oracle SQL语言 子查询(基础) 1.认识子查询 2.WHERE子句中使用子查询 3.在HAVING子句中使用子查询 4.在FROM子句中使用子查询 5 ...
- 为什么MySQL不推荐使用子查询和join
前言: 1.对于mysql,不推荐使用子查询和join是因为本身join的效率就是硬伤,一旦数据量很大效率就很难保证,强烈推荐分别根据索引单表取数据,然后在程序里面做join,merge数据. 2.子 ...
- SQL Fundamentals: 子查询 || 行列转换(PIVOT,UNPIVOT,DECODE),设置数据层次(LEVEL...CONNECT BY)
SQL Fundamentals || Oracle SQL语言 子查询(基础) 1.认识子查询 2.WHERE子句中使用子查询 3.在HAVING子句中使用子查询 4.在FROM子句中使用子查询 5 ...
随机推荐
- c#中的委托和事件(转)
引言 委托 和 事件在 .Net Framework中的应用非常广泛,然而,较好地理解委托和事件对很多接触C#时间不长的人来说并不容易.它们就像是一道槛儿,过了这个槛的人,觉得真是太容易了,而没有过去 ...
- git status message - Your branch is ahead of origin/master by X commits
git reset --hard origin/master git status FAQ: When I issue the "git status" command, I se ...
- ASP.NET Webform和ASP.NET MVC的区别
ASP.NET WebForm ASP.NET Webform提供了一个类似于winform的事件响应GUI模型(event-driven GUI),隐藏了HTTP.HTML.JavaScript等细 ...
- marquee滚动,无缝连接的代码
页面的自动滚动效果,可由javascript来实现, 但是有一个html标签 - <marquee></marquee>可以实现多种滚动效果,无需js控制. 使用marquee ...
- Intent官方教程(6)常见Intent示例,启动日历,时钟,镜头等。
guide/components/intents-common.html 包含:Alarm Clock Calendar Camera Contacts/People App Email File S ...
- HTML DOM简介
HTML DOM简介 1.当网页被加载时,浏览器会创建页面的文档对象模型(Document Object Model),HTML DOM模型被创建为对象的树.如下所示: 2.通过可编程的对象模型,Ja ...
- HDU 5671 Matrix
Matrix Time Limit: 3000/1500 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)Total Su ...
- 求数组中的最小子数组,时间复杂度o(n),java
石家庄铁道大学 信1405-1 班 唐炳辉 题目:给定一个整数数组,找到一个具有最小和的子数组.返回其最小和. 设计思路:两个变量 ,一个记录当前并入的数组的值,另外一个记录所算过得最大的数组的值,当 ...
- 卡尔曼滤波— Constant Velocity Model
假设你开车进入隧道,GPS信号丢失,现在我们要确定汽车在隧道内的位置.汽车的绝对速度可以通过车轮转速计算得到,汽车朝向可以通过yaw rate sensor(A yaw-rate sensor is ...
- Beaglebone Black–GPIO 高低电平控制 LED 灯
上一篇,运用 Linux 的 sysfs,控制本机上的 LED 灯,usr0 至 usr3,这次用 GPIO 控制外部的电路,点亮 LED 灯. 这次的全部材料: BBB 一台 购买 BBB 自带的 ...