首页 > 数据库 >LINQ to SQL

LINQ to SQL

时间:2023-06-02 19:23:16浏览次数:43  
标签:group 数据源 SQL LINQ 查询 子句 表达式

@@sql linq into group

 

LINQ to SQL八大子句

一、LINQ查询子句概述

1.查询(Query)是一组指令,这些指令可以从一个或多个给定的数据源中检索数据,并指定检索结果的数据类型和表现形式。

2.查询表达式是一种查询语法表示的表达式,由一组用类似于SQL的声明性语法编写的子句组成。

3.每一个字句可以包含一个或多个C#表达式,而这些表达式本身又可能是查询表达式或包含查询表达式。

4.查询表达式和其他表达式一样,可以用在C#表达式有效的任何上下文中。

 

二、子句说明

1.LINQ查询表达式必须以from子句开头,并且必须以select或group子句结束。

2.在第一个from子句和最后一个select或group子句之间,查询表达式可以包含一个或多个where、orderby、group、join、let子句,甚至from子句。

3.另外,join和group子句还可以使用into子句指定临时标识符号

代码实例:

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

car value = from v in values

where v<3

select v;

 

三、基本子句

from子句

where子句

select子句

group子句

orderby子句

into子句

join子句

let子句

 

1.from子句

LINQ查询表达式必须包含from子句,且以from子句开头。如果该查询表达式还包含子查询,那么子查询表达式也必须以from子句开头。from子句指定查询操作的数据源和范围变量。其中,数据源不但包括查询本身的数据源,而且还包括子查询的数据源。范围变量一般用来表示源序列中的每一个元素。

 

注意:from子句指定的数据源的类型必须为IEnumerable、IEnumerable<T>或前两者的派生类型

 

2.where子句

在LINQ查询表达式中,where子句指定筛选元素的逻辑条件,一般由逻辑运算符(如逻辑“与”、逻辑“或”)组成。一个查询表达式可以不包含where子句。每一个where子句可以包含1个或多个布尔表达式。


3.group子句

在查询表达式中,group子句对查询的结果进行分组,并返回元素类型为

IGrouping<TKey,TElenment>的对象序列。

 

注意:TKey指定IGrouping<TKey,TElement>的键的类型,TElement指定IGrouping<TKey,TElement>的值的类型。访问IGrouping<TKey,TElement>类型的值的方法与访问IEnumberable<T>的元素的方式非常相似。

 

4.orderby子句

在LINQ查询表达式中,orderby子句可以对查询结果进行排序。排序方式可以为“升序”或“降序”,且排序的键可以为一个或多个

 

注意:LINQ查询表达式对查询结果的默认排序方式为“升序”。

 

5. into子句

在LINQ 查询表达式中,into子句可以创建一个临时标识符,使用该标识符可以存储group、join或select子句的结果。

 

6. join子句

在LINQ查询表达式中,join子句比较复杂,它可以设置两个数据源之间的关系。当然,这两个数据源之间必须存在相关联的属性或值。join子句可以实现一下3种联接关系。

(1)内部联接,元素的联接关系必须同时满足被联接的两个数据源。

(2)分组联接,含有into子句的join子句。

(3)左外部联接

 

7. let子句

在LINQ查询表达式中,let子句可以创建一个新的范围变量,并且使用该变量保存表达式中的结果。let子句指定的范围变量的值只能通过初始化操作进行赋值,范围变量的值一旦被初始化,将不能再被改变。

 

 

四、总结

1.from子句 :指定查询操作的数据源和范围变量

2.where子句:筛选元素的逻辑条件,一般由逻辑运算符(如逻辑“与”、逻辑“或”)组成

3.select子句:指定查询结果的类型和表现形式

4.orderby子句:对查询结果进行排序,可以为“升序”或“降序”

5.group子句:对查询结果进行分组

6.into子句:提供一个临时标识符。该标识符可以充当对join、group或select子句的结果的引用

7.join子句:连接多个查询操作的数据源

8.let子句:引入用于存储查询表达式中的子表达式结果的范围变量
————————————————
版权声明:本文为CSDN博主「胡本故」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Cuihuahuaa/article/details/79789776

标签:group,数据源,SQL,LINQ,查询,子句,表达式
From: https://www.cnblogs.com/wl-blog/p/17452751.html

相关文章

  • @@linq left join group
    @@linqleftjoingroup如何实现LINQ的leftjoingroupby语法? 在LINQ下这样写var query = (from st in db.Student                             join sc in db.Score on st.id equals sc.sid into g1        ......
  • Docker下安装MySQL
    0x01:Docker安装MySQL下载MySQL镜像dockerpullmysql默认是下载latest标签的mysql,那么版本是多少呢?访问以下链接:https://hub.docker.com/_/mysql/启动MySQL镜像,指定密码为123456,映射目录/home/xxljobwork,指定默认编码为utf-8dockerrun-eMYSQL_ROOT_PASSWORD=123456-p3306......
  • MySQL锁查询与锁释放实操
    1.查询一个数据表中可测试数据SELECT*FROMt_wx_authorizer_infoWHEREservice_id='30127'forupdate;2.实验制造数据库锁,以下语句都先只执行第一条更新语句,然后再执行第二条更新语句的时候就会锁住--第一个事务,只执行第一条更新语句starttransaction;updatet_......
  • idea 爆红com.mysql.jdbc.Driver `com.mysql.cj.jdbc.Driver
    警告Loadingclasscom.mysql.jdbc.Driver'.Thisisdeprecated.Thenewdriverclassiscom.mysql.cj.jdbc.Driver'.ThedriverisautomaticallyregisteredviatheSPIandmanualloadingofthedriverclassisgenerallyunnecessary.2023-06-0218:00:......
  • [极客大挑战 2019]EasySQL1 做题笔记
     看标题是EasySQL,简单SQL注入,想来不会特别难先尝试输入admin123456发现账号和密码都错误那就尝试传说中的万能密码 1'or'1'='1'# 输入的时候记得切换为英文输入法 出现flag......
  • 软件测试|教你怎么向SQL中插入数据
    前言有的时候,我们需要向数据库表中写入新数据,但是我们不可能新建一个表,我们需要使用插入功能向数据库表中写入新数据。SQL提供了INSERTINTO的方法,满足我们向表中插入数据行的需求。INSERTINTOINSERTINTO的基本语法如下:按指定的列插入数据,语法如下:INSERTINTOtable_name(column......
  • xtrabackup工具备份与恢复MySQL数据库
    使用Xtrabackup备份和恢复MySQL数据库测试环境信息:centos7.9           Xtrabackup2.4.28             mysql5.7.33             qpress1.1一、使用Xtrabackup备份MySQL数据库1、安装qpress命令yu......
  • MySQL-正则表达式规范
     MySQL中的正则表达式采用的是PCRE的规范,匹配时按字符进行。RLIKE您可以使用RLIKE语句匹配正则表达式,支持的元字符如下表所示。元字符说明^行首。$行尾。.任意字符。*匹配前面的子表达式0次或多次。+匹配前面的子表达式1次或......
  • 3月11日严老师MySQL面试资料 一般有用 看1
    Mysql金三银四面试突击班Lecturer:严镇涛1.Binlog是什么,有什么用?(数据库被人干掉了怎么办?)1.binLog:数据恢复主从复制MySQLServer层也有一个日志文件,叫做binlog,它可以被所有的存储引擎使用。binlog以事件的形式记录了所有的DDL和DML语句(因为它记录的是操作而不是......
  • MySQL中将多行查询结果合并为一行展示SQL语句书写
    写在前面最近开发过程中,遇到一个需求是要将所查询的多条结果汇总成一条结果展示,由于之前没有接触过这方面的业务,所以经过一番折腾之后,解决了需求,这里特此记录一下,以供后续参考!1、问题复现这里以一个例子进行说明:需求:一个员工每月是否完成了打卡,要求统计员工当月完成和未完成......