整理✨Linq查询


简介

  • LINQ,语言继承查询(Language Integrated Query) 是一组用于C#和Visual Basic语言的扩展,它允许编写C#或者Visual Basic代码以查询数据库相同的方式操作内存数据。
  • 语言集成查询(LINQ)是一组技术的名称,这些技术建立在将查询功能直接集成到C#语言(以及Visual Basic和可能的任何其他.NET语言)的基础上。借助于LINQ,查询现在已是高级语言构造,就如同类、方法、事件等等。
  • 对于编写查询的开发人员来说,LINQ最明显的"语言集成"部分是查询表达式。查询表达式是使用C#3.0中引入的声明性查询语法编写的。通过使用查询的语法,您甚至可以使用最少得代码对数据源执行复杂的筛选、排序和分组操作。您可以使用相同的基本查询表达式模式来查询和转换SQL数据库、ADO.NET数据集、XML文档和流以及.NET集合中的数据。


一、LINQ子句

查询表达式必须From子句开头,以Select活Group子句结束,第一个From子句和最后一个Select子句或Group子句之间,可以包含一个或多个Where子句、let子句、Join子句、Orderby子句和Group子句,甚至还可以是From子句。

子句名称解释
from指定查询操作的数据源和范围变量
select指定查询结果的类型和表现形式
where指定筛选元素的逻辑条件
let引入用来临时保存查询表达式中的字表达式结果的范围变量
orderby对查询结果进行排序操作,包括升序和降序
group对查询结果进行分组
into提供一个临时标识符,join子句、group子句或select子句可以通过该标识符引用查询中的中间结果
join连接多个用于查询操作的数据源

二、基本语法

表名: Student

列名类型注释
Idintid
StuNamenvarchar(30)姓名
Sexchar(1)性别(0男1女)
StuPhonenvarchar(11)手机号
StuEmailnvarchar(30)邮箱
StuAddressnvarchar(30)住址

1.select子句

条件:查询Student表

//Linq语法
var cha= from n in Student
			 select n; 
			 
//SQL语法
SELECT * FROM Student;

2.where子句

条件:查询叫张三的学生

//Linq语法
 var cha = from n in Student
 			where(n=>n.StuName="张三")
 			select n;
 			
//SQL语法
SELECT * FROM Student where StuName = "张三";

3.let子句

//声明一个数组
int[] number = {1,2,3,4,5,6,7,8,9};

//创建一个范围变量来存储结果
var cha = from num in number
          let n = num%2 
          where n == 0//判断数组中某一个数跟2相除能余0
          select num;

4.Orderby子句

条件:查询年龄在15岁至20岁的学生信息

//LInq语法
	var cha = from n in Student
			  where n.Sex>15 && n.Sex<20 //判断年龄条件
			  orderby n.Sex descending	//ascending 升序 descending降序
			  select n;
//SQL语法
		SELECT * FROM Student 
		where Sex BETWEEN 15 AND 20
		 Orderby asc; //asc升序 desc降序

5.Group子句

查询数组5-10中的数据,并根据能不能与2相磨分组

int[] number = {1,2,3,4,5,6,7,8,9};

var cha = from n in number 
	      where n>5 && n<10
	      group n by n%2
	      

6.into子句

查询数组5-10中的数据,取出能与2相磨的一组数据

int[] number = {1,2,3,4,5,6,7,8,9};

var cha = from n in number 
	      where n>5 && n<10
	      group n by n%2 into g//临时标识符,存储数据
	      from sn in g
	      select sn;
	      

6.Join子句

连表查出两个表满足条件的数据

int[] arrA= {1,2,3,4,5,6,7,8,9};
int[] arrB = {0,2,4,6};

var cha = from a in arrA
          where a< 7	//a小于7
          join b in arrB on a equals b //b满足a的条件
          select a;

  • 7
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

汪杰杰杰杰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值