题目
手写 SQL:表中有 user_id 和 price 两个字段,查出 user_id = 1 时的最大 price
答案
@[toc]
---
假设表名为 prices,可以使用如下 SQL 查询 user_id=1 的最大价格:
## 子查询
```sql
SELECT MAX(price) FROM prices WHERE user_id = 1;
```
## INNER JOIN
```sql
SELECT MAX(prices.price)
FROM prices
INNER JOIN (
SELECT id FROM prices WHERE user_id = 1
) AS sub ON prices.id = sub.id;
```
## IN
```sql
SELECT MAX(price) FROM prices WHERE id IN (
SELECT id FROM prices WHERE user_id = 1
);
```
## EXISTS
```sql
SELECT MAX(price) FROM prices
WHERE EXISTS (
SELECT * FROM prices AS sub WHERE sub.user_id = 1 AND sub.id = prices.id
);
```
