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 ...
随机推荐
- Java 使用 Stream API 筛选 List
前言 上课的时候看到老师用迭代器来遍历 List 中的元素的时候,我的内心是极其嫌弃的,这种迭代方法不能直接访问当前的元素,而且写起来也麻烦.于是上网查了查 Java 有没有类似于 Linq 的东西, ...
- nylg 小M的因子和
小M的因子和 时间限制:1000 ms | 内存限制:65535 KB 难度:2 描述 小M在上课时有些得意忘形,老师想出道题目难住他.小M听说是求因子和,还是非常得意,但是看完题目是求A的B ...
- sorl维护索引库sorl4j的使用
1.维护索引库 添加:添加一个json格式的文件就可以. 修改:在solr中没有update,只需要添加一个新的文档,要求文档id和被修改文档的id一致.原理是先删除后添加. 删除:使用xml格式. ...
- Codeforces Round #372 (Div. 2) A
Description ZS the Coder is coding on a crazy computer. If you don't type in a word for a c consecut ...
- JAVA线程池的创建
/** * 创建不同类型的线程池 Executors * * @author */ public class ThreadPoolTest01 { public static void main(St ...
- font awesome 符号字体
http://www.fontawesome.com.cn/ 引用CSS包之后根据图标库找到所需的图标代码 使用i标签或者a标签皆可,符号为文字性质,可以直接通过修改text颜色从而修改符号颜色
- 编写shell管理脚本(一)
7.1 查看当前linux系统中能够使用的shell程序的列表[root@localhost ~]# cat /etc/shells/bin/sh/bin/bash/sbin/nologin/bin ...
- Java过滤器应用-对Ajax请求做Session失效判断
过滤器常用来对Session过期做判断 Layout.js 1.为ajax请求添加标识 2.无论ajax请求成功与否,complete函数终会执行 // 全局Ajax设置, 用于session过期后的 ...
- css做的后台管理页面,不考虑ie8一下的
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...
- SQL查看表锁定,死锁解锁
select request_session_id spid,OBJECT_NAME(resource_associated_entity_id) tableName from sys.dm_tran ...