Skip to content

Commit

Permalink
Merge pull request #120 from GuoXiCheng/dev-c
Browse files Browse the repository at this point in the history
update docs
  • Loading branch information
GuoXiCheng authored Nov 7, 2024
2 parents e482d07 + 725a7fe commit 9c73dc5
Show file tree
Hide file tree
Showing 2 changed files with 189 additions and 0 deletions.
22 changes: 22 additions & 0 deletions src/.vitepress/sidebars/sqlite.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -62,5 +62,27 @@
link: /database/sqlite/core-concepts/update-statement#更新所有行
- text: 更新指定行
link: /database/sqlite/core-concepts/update-statement#更新指定行
- text: Select 语句
link: /database/sqlite/core-concepts/select-statement
items:
- text: 基本语法
link: /database/sqlite/core-concepts/select-statement#基本语法
- text: Where 子句
link: /database/sqlite/core-concepts/select-statement#where-子句
items:
- text: 比较
link: /database/sqlite/core-concepts/select-statement#比较
- text: 逻辑
link: /database/sqlite/core-concepts/select-statement#逻辑
- text: IN
link: /database/sqlite/core-concepts/select-statement#in
- text: Between And
link: /database/sqlite/core-concepts/select-statement#between-and
- text: Exists
link: /database/sqlite/core-concepts/select-statement#exists
- text: Is Null
link: /database/sqlite/core-concepts/select-statement#is-null
- text: Like 子句
link: /database/sqlite/core-concepts/select-statement#like-子句


167 changes: 167 additions & 0 deletions src/database/sqlite/core-concepts/select-statement.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,167 @@
# Select 语句

## 基本语法

::: code-group

```sql [语法]
SELECT column1, column2, ...
FROM table_name;
```

```sql [实例]
SELECT name, age
FROM students;
```

:::

## Where 子句

### 比较

::: code-group

```sql [大于]
select * from students where age > 20;
```

```sql [小于]
select * from students where age < 20;
```

```sql [大于等于]
select * from students where age >= 20;
```

```sql [小于等于]
select * from students where age <= 20;
```

```sql [等于]
select * from students where age = 20;
```

```sql [不等于]
select * from students where age != 20;
```

:::

### 逻辑

::: code-group

```sql [AND]
select * from students where age > 20 and name = 'John';
```

```sql [OR]
select * from students where age > 20 or name = 'John';
```

```sql [NOT]
select * from students where not age > 20;
```

:::

### IN

::: code-group

```sql [IN]
select * from students where age in (20, 21, 22);
```

```sql [NOT IN]
select * from students where age not in (20, 21, 22);
```

:::

### Between And

::: code-group

```sql [BETWEEN]
select * from students where age between 20 and 30;
```

```sql [NOT BETWEEN]
select * from students where age not between 20 and 30;
```

:::

### Exists

::: code-group

```sql [EXISTS]
select * from students where exists (
select * from teachers where students.teacher_id = teachers.id
);
```

```sql [NOT EXISTS]
select * from students where not exists (
select * from teachers where students.teacher_id = teachers.id
);
```

:::

### Is Null

::: code-group

```sql [IS NULL]
select * from students where name is null;
```

```sql [IS NOT NULL]
select * from students where name is not null;
```

:::

## Like 子句

Like 用来匹配通配符指定模式的文本值。

Like 通常与两个通配符一起使用:

- 百分号(%):代表零个、一个或多个字符。
- 下划线(\_):代表一个单一的字符。

::: code-group

```sql [LIKE]
select * from students where name like 'J%';
```

```sql [NOT LIKE]
select * from students where name not like 'J%';
```

```sql [LIKE]
select * from students where name like 'J_n';
```

```sql [NOT LIKE]
select * from students where name not like 'J_n';
```

:::

| 语句 | 描述 |
| --------------------------- | ----------------------------------- |
| `WHERE SALARY LIKE '200%'` | 查找以 200 开头的任意值 |
| `WHERE SALARY LIKE '%200'` | 查找以 200 结尾的任意值 |
| `WHERE SALARY LIKE '%200%'` | 查找包含 200 的任意值 |
| `WHERE SALARY LIKE '_00%'` | 查找第二位是 0,第三位是 0 的任意值 |
| `WHERE SALARY LIKE '2_%_%'` | 查找以 2 开头且长度至少为 3 的值 |
| `WHERE SALARY LIKE '2__'` | 查找以 2 开头且长度为 3 的值 |
| `WHERE SALARY LIKE '2%5'` | 查找以 2 开头且以 5 结尾的值 |
| `WHERE SALARY LIKE '2___5'` | 查找以 2 开头且长度为 5 的值 |

0 comments on commit 9c73dc5

Please sign in to comment.