mirror of
https://github.com/dotnetcore/FreeSql.git
synced 2026-02-22 00:00:57 +08:00
update
33
嵌套查询.md
33
嵌套查询.md
@@ -158,6 +158,39 @@ INNER JOIN (
|
|||||||
) b ON a.[Id] = b.[GroupId]
|
) b ON a.[Id] = b.[GroupId]
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## WithParameters 参数化共享
|
||||||
|
|
||||||
|
开启参数化查询功能后,使用 WithParameters 共享参数化,避免产生相同的参数名称:
|
||||||
|
|
||||||
|
```csharp
|
||||||
|
var dbpars = new List<DbParameter>();
|
||||||
|
|
||||||
|
var id1 = 1;
|
||||||
|
var id2 = 2;
|
||||||
|
var sql = fsql.Select<User1>()
|
||||||
|
.WithParameters(dbpars)
|
||||||
|
.Where(a => a.Id == id1)
|
||||||
|
|
||||||
|
.FromQuery(
|
||||||
|
fsql.Select<User1>()
|
||||||
|
.WithParameters(dbpars)
|
||||||
|
.Where(a => a.Id == id2)
|
||||||
|
)
|
||||||
|
.ToSql();
|
||||||
|
```
|
||||||
|
|
||||||
|
```sql
|
||||||
|
SELECT a."Id", a."GroupId", a."Username"
|
||||||
|
FROM ( SELECT a."Id", a."GroupId", a."Username"
|
||||||
|
FROM "User1" a
|
||||||
|
WHERE (a."Id" = @exp_0)
|
||||||
|
UNION ALL
|
||||||
|
SELECT a."Id", a."GroupId", a."Username"
|
||||||
|
FROM "User1" a
|
||||||
|
WHERE (a."Id" = @exp_1) ) a
|
||||||
|
WHERE ((a."Id" = 1 OR a."Id" = 2))
|
||||||
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 子表Exists
|
## 子表Exists
|
||||||
|
|||||||
6
联合查询.md
6
联合查询.md
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
GroupBy + WithTempQuery(嵌套查询) + FromQuery + UnionAll 组合使用,会让查询功能更加强大、灵活。
|
GroupBy + WithTempQuery(嵌套查询) + FromQuery + UnionAll 组合使用,会让查询功能更加强大、灵活。
|
||||||
|
|
||||||
1、单表 UNION ALL
|
## 单表 UNION ALL
|
||||||
|
|
||||||
```csharp
|
```csharp
|
||||||
var sql = fsql.Select<User>().Where(a => a.Id == 1)
|
var sql = fsql.Select<User>().Where(a => a.Id == 1)
|
||||||
@@ -30,7 +30,7 @@ FROM ( SELECT a."Id", a."GroupId", a."Username"
|
|||||||
WHERE ((a."Id" = 1 OR a."Id" = 2))
|
WHERE ((a."Id" = 1 OR a."Id" = 2))
|
||||||
```
|
```
|
||||||
|
|
||||||
2、多表 UNION ALL
|
## 多表 UNION ALL
|
||||||
|
|
||||||
```csharp
|
```csharp
|
||||||
var sql = fsql.Select<User, Group>()
|
var sql = fsql.Select<User, Group>()
|
||||||
@@ -78,7 +78,7 @@ WHERE ((a."Id" = 1 OR a."Id" = 2))
|
|||||||
})
|
})
|
||||||
```
|
```
|
||||||
|
|
||||||
3、WithParameters 参数化共享
|
## WithParameters 参数化共享
|
||||||
|
|
||||||
开启参数化查询功能后,使用 WithParameters 共享参数化,避免产生相同的参数名称:
|
开启参数化查询功能后,使用 WithParameters 共享参数化,避免产生相同的参数名称:
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user