mirror of
https://github.com/dotnetcore/FreeSql.git
synced 2026-02-06 16:30:52 +08:00
update
33
嵌套查询.md
33
嵌套查询.md
@@ -158,6 +158,39 @@ INNER JOIN (
|
||||
) 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
|
||||
|
||||
6
联合查询.md
6
联合查询.md
@@ -2,7 +2,7 @@
|
||||
|
||||
GroupBy + WithTempQuery(嵌套查询) + FromQuery + UnionAll 组合使用,会让查询功能更加强大、灵活。
|
||||
|
||||
1、单表 UNION ALL
|
||||
## 单表 UNION ALL
|
||||
|
||||
```csharp
|
||||
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))
|
||||
```
|
||||
|
||||
2、多表 UNION ALL
|
||||
## 多表 UNION ALL
|
||||
|
||||
```csharp
|
||||
var sql = fsql.Select<User, Group>()
|
||||
@@ -78,7 +78,7 @@ WHERE ((a."Id" = 1 OR a."Id" = 2))
|
||||
})
|
||||
```
|
||||
|
||||
3、WithParameters 参数化共享
|
||||
## WithParameters 参数化共享
|
||||
|
||||
开启参数化查询功能后,使用 WithParameters 共享参数化,避免产生相同的参数名称:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user