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 ...
随机推荐
- SecureCRT issue "Could not open clipboard: Assess is denied" (无法打开粘贴板:访问被拒绝)
I got an issue when copying some line/word (actually just select the context ) in the Linux terminal ...
- Python_cmd的各种实现方法及优劣(subprocess.Popen, os.system和commands.getstatusoutput)
http://blog.csdn.net/menglei8625/article/details/7494094
- 制作动画效果:《CSS3 Animation》
在开始介绍Animation之前我们有必要先来了解一个特殊的东西,那就是"Keyframes",我们把他叫做“关键帧”,玩过flash的朋友可能对这个东西并不会陌生.下面我们就一起 ...
- HTTP断点续传的基本原理
转自:http://blog.csdn.net/sendy888/article/details/1719105 断点续传是我们现在经常接触的概念,那么HTTP协议是如何支持断点续传的呢.我们先从一个 ...
- Myeclipse 添加server library
来自网络资料 (1)File->New->Other (2)弹出窗口勾上Show All Wizards,然后在type fiter text那里输入Server,选中server-> ...
- xtrabackup 安装、备份、还原及错误处理 教程
xtrabackup 是MYSQL的一个备份软件 Xtrabackup是一个对InnoDB做数据备份的工具,支持在线热备份(备份时不影响数据读写),是商业备份工具InnoDB Hotbackup的一个 ...
- BZOJ 1006 神奇的国度(弦图的染色数)
题目链接:http://61.187.179.132/JudgeOnline/problem.php?id=1006 题意:给定一个弦图,求最小染色数.就是用最小数目的颜色进行染色使得任意两个相邻的节 ...
- XML文件解析DOM解析和SAX解析
解析一个XML文档有哪些内容解析有:dom和sax两种dom:把整个XML文档放入内存,适合XML随机访问,占用内存资源大sax:事件驱动型的XML解析方式,顺序读取,不用一次装载整个文件,遇到标签会 ...
- UVA 437 十九 The Tower of Babylon
The Tower of Babylon Time Limit:3000MS Memory Limit:0KB 64bit IO Format:%lld & %llu Subm ...
- FJNU 1156 Fat Brother’s Gorehowl(胖哥的血吼)
FJNU 1156 Fat Brother’s Gorehowl(胖哥的血吼) Time Limit: 1000MS Memory Limit: 257792K [Description] [题目 ...