1、 查询Student表中的所有记录的Sname、Ssex和Class列。(select sname,ssex,class from student)
Students.Select(s=> new { sname=>s.sname,ssex=>s.ssex, class=>s.class})
linq:from s in Students select new{s.sname, }

2.查询教师所有的单位即不重复的Depart列。select distinct depart from teacher
teachers.distinct().Select(s=>s.depart)
linq: from s in teachers.Distinct() select s.depart

3、 查询Student表的所有记录。select * from Student
student.Select(s=>s)
linq: from s in student select s;

4、 查询Score表中成绩在60到80之间的所有记录。 select * from score where grages bewteen 60 and 80
score.Where(s=>(s.grages>60 && s.grages<80) );
linq: from s in score where s.grages>60 && s.grages<80 select s;

5、 查询Score表中成绩为85,86或88的记录。select * from score where grages in (85,86,88)
linq: from s in Score Where ( new decimal[] {85,86,88}.Contains(s.grage))
Scores.Where( s => new Decimal[] {85,86,88}.Contains(s.grage))

6、 查询Student表中"95031"班或性别为"女"的同学记录。select * from student where class ='95031' or ssex= '女'
student.Where(s=> (s.class=="95031" || s.sex="女"))
from s in student where s.class=="" || s.sex=="" select s;

7、 以Class降序查询Student表的所有记录。 select * from student order by Class DESC
student.OrderByDescing(s=> s.Class)

from s in student order by s.class descending select s;

8、 以Cno升序、Degree降序查询Score表的所有记录。select * from Score order by cno asc and grage desc
score.OrderByDescing(s=>s.grage).OrderBy(s=>s.cno);

from s in score order by s.grage descending order by s.cno ascending select s;

9、 查询"95031"班的学生人数。select count(*) from Students where class='95031'
students.Select(s=>s.class=='95031').Count();
///students.Where(s=>s.class=='').Select(s=>s).Count();

10、查询Score表中的最高分的学生学号和课程号。

11、查询'3-105'号课程的平均分。select avg(grage) from score where cno='3-105'
score.where(s=>s.con=="3-105").Select(s=>s.grage).Avgage();

12、查询Score表中至少有5名学生选修的并以3开头的课程的平均分数。
select avg(degree) from score where cno like '3%' group by Cno having count(*)>=5

linq: from s in score where s.con.StartWith("3") group s by s.Cno into cc where cc.count>5
select cc.Avgage(s=>s.grage)

13、查询最低分大于70,最高分小于90的Sno列。select Sno from score group by Sno having min(grage)>70 and
max(grage)<90
linq: from s in score group s by s.sno into cc where cc.min(grage)>70 && cc.Max(grage)<90
select new {sno =>cc.key}

lambda:
scores.GroupBy(s=>s.sno).Where(ss=> ( (ss.Min(cc=>cc.grage)>70) && (ss.Max(cc=>cc.grage)<90 )))
.select(ss=> new {sno=>ss.key})

14、查询所有学生的Sname、Cno和Degree列。
select s.sname,sc.cno,sc.degree from student s,score sc where s.sno = sc.sno

from s in Student join sc in score on s.sno=sc.sno
select new {s.sname,sc.cno, sc.degree}

lambda: Student.join(scores,s=>s.sname,
sc=>sc.cno,
(s,sc)=> new{ sname =s.sname, cno=sc.cno, degree=sc.degree })

//释放资源 .Dispose();
------------------------------------------------------------
.skip(1).Take(4) Skip 上面这段语句的意思是从第二条数据开始显示4条
AppendAndWhere //附加AND查询条件 JoinOnAndWhere //joinon筛选条

Any(): 判断集合中是否有元素满足某一条件
仅返回没有订单的客户:var q =from c in db.Customers where !c.Orders.Any() select c;

All(): 判断集合中所有元素是否都满足某一条件。
var q =from c in db.Customers where c.Orders.All(o => o.ShipCity == c.City) select c;
语句描述:这个例子返回所有订单都运往其所在城市的客户或未下订单的客户。

Contains() :用于判断集合中是否包含有某一元素

Concat(连接): 连接不同的集合,不会自动过滤相同项
var q = (from c in db.Customers select c.Phone).Concat(from c in db.Customers select c.Fax).Concat(from e in db.Employees select e.HomePhone);
语句描述:返回所有消费者和雇员的电话和传真。

Union ::连接不同的集合,自动过滤相同项;延迟。即是将两个集合进行合并操作,过滤相同的项。

Intersect(相交) :取相交项;延迟。即是获取不同集合的相同项(交集)。
Except (与非) :排除相交项;
.Implicit(隐式) Explicit(显式)

ToArray:将序列转换为数组

ToList:将序列转换为泛型列表
-------------------------------------------------------------

转载于:https://www.cnblogs.com/wangzhe688/p/7561203.html

有关 Lambda linq练习 有待整理相关推荐

  1. LINQ表达式用法整理

    收集一些Linq表达式中的一些比较常用的写法,希望能给大家工作当中带来一些便利. 1. Where子句条件过滤结果集型(集合数据使用这种,譬如数组.列表数据,同样适用于Datatable等多列数据集) ...

  2. 技术资料收藏--有待整理

    http://dotnet.aspx.cc/ http://tech.ccidnet.com/pub/column/c1135_p2.html 这两个站点也不错 http://blog.csdn.ne ...

  3. 简单测试lambda和linq查找的性能

    在List泛型中查找一个值(唯一),究竟用哪种方法快点呢.for循环.foreach迭代器.Lambda表达式.Linq语句. 简单的写了一个程序测试一下.思路:构造一个有26843545个int元素 ...

  4. LINQ体验系列文章导航

    LINQ体验系列文章导航 LINQ推荐资源 推荐一个大家学习和交流LINQ的地方,就是博客园的LINQ专题和LINQ交流小组.LINQ专题中整理了有关LINQ方方面面的入门.进阶.深入的文章:学习中遇 ...

  5. [c#菜鸟]lambda表达式

    what 一.定义 Lambda 表达式是一种可用于创建 委托 或 表达式目录树 类型的 匿名函数 .通过使用 lambda 表达式,可以写入可作为参数传递或作为函数调用值返回的本地函数.(微软) 理 ...

  6. java8新特性学习笔记之唠唠“匿名内部类与lambda”

    负一.知道啥是匿名内部类不? 要使用lambda,我觉得你至少得明白匿名内部类是个啥."o -> o.getName"是lambda表达式,"Book::getNa ...

  7. lambda表达式python菜鸟教程_[c#菜鸟]lambda表达式

    what 一.定义 Lambda 表达式是一种可用于创建 委托 或 表达式目录树 类型的 匿名函数 .通过使用 lambda 表达式,可以写入可作为参数传递或作为函数调用值返回的本地函数.(微软) 理 ...

  8. 多html整理合并pdf

    版权声明:本文为博主原创文章,转载 请注明出处:https://blog.csdn.net/sc2079/article/details/106246106 -写在前面   最近想提升自己的PPT制作 ...

  9. 深入理解Java Lambda表达式,匿名函数,闭包

    前言 对于Lambda表达式一直是知其然不知其所以然,为了搞清楚什么是Lambda表达式,以及Lambda表达式的用法和作用,本文应运而生当做学习笔记分享出来,欢迎指正交流. 什么是Lambda 让我 ...

最新文章

  1. @NotEmpty,@NotNull和@NotBlank的区别
  2. react draft api 简介
  3. 【深度学习】用Pytorch给你的母校做一个样式迁移吧!
  4. JAVA引用aar_如何生成并引用aar文件
  5. python 深拷贝_详解python的复制,深拷贝和浅拷贝的区别
  6. boost::hana::minus用法的测试程序
  7. 在CentOS上搭建PHP服务器环境(可用)
  8. Shell编程中的“局部变量”和“导出变量” (export 用法)
  9. java classnotfoundexception e_关于解释class文件时出现java.lang.ClassNotFoundException的问题...
  10. javascript 不让成为nan_JavaScript高级,第一集
  11. 基于TCP的网络游戏黑白棋系列(二):数据传输
  12. 补一天三层的东西,ACL
  13. Myeclipse破解后报错解决
  14. 树莓派 Raspberry-Pi 折腾系列:系统安装及一些必要的配置
  15. db2 随机数函数_sql中的随机函数怎么用?
  16. excel服务器运行失败怎么办,解决勤哲EXCEL服务器启动失败的问题
  17. HTML设置网页小图标
  18. 抖音二面:计算机网络-应用层
  19. python 自定义 计算向量投影 正交 函数
  20. 如何在Win10(包括2004版本)下安装64位CATIA

热门文章

  1. php+redis+设置前缀,spring使用Redis自定义前缀后缀名(去掉SimpleKey []+自定义)
  2. 智慧交通day03-车道线检测实现02-1:相机校正
  3. 数据结构之平衡树:红黑树的介绍与Python代码实现——17
  4. 二十三、PHP框架Laravel学习笔记——集合的常用方法
  5. LeetCode 2138. 将字符串拆分为若干长度为 k 的组
  6. python web开发 jQuery基础
  7. LeetCode 1382. 将二叉搜索树变平衡(中序遍历+二分递归)
  8. LeetCode 357. 计算各个位数不同的数字个数(DP)
  9. linux sys存放内容,了解linux系统目录,sys,tmp,usr,var!
  10. android 行布局选择器,『自定义View实战』—— 银行种类选择器