MySQL的子查询,举例说明
时间: 2023-05-24 22:04:30 浏览: 104
MySQL的子查询可以嵌套在SELECT, INSERT, UPDATE, DELETE语句中,用于提供数据来源或限制查询结果。下面是几个子查询的实例:
1. 查询一个表中年龄最大的人名和年龄
SELECT name, age
FROM person
WHERE age=(SELECT MAX(age) FROM person);
2. 查询有多少人的年龄大于平均年龄
SELECT COUNT(*)
FROM person
WHERE age>(SELECT AVG(age) FROM person);
3. 查询有哪些城市包括至少两个国家的人口
SELECT DISTINCT city
FROM population
WHERE country_count>1;
其中,population表包括以下字段: city(城市名称),country(国家名称),population(人口数量),country_count(该城市包括的国家数量)。
4. 插入一个用户的同时,在关联表中插入该用户的地址信息
INSERT INTO user (name, age)
VALUES ('John', 30);
INSERT INTO address (user_id, address)
VALUES ((SELECT id FROM user WHERE name='John'), '123 Main St');
5. 更新一个表中所有客户的销售额,将其更新为满足一定条件的客户中的平均销售额
UPDATE customer
SET sales=(SELECT AVG(sales) FROM customer WHERE region='East')
WHERE region='East';
阅读全文