MySQL 子查询之select后面

子查询select后面

仅仅支持标量子查询

#案例:查询每个部门的员工个数

SELECT d.*,(
	SELECT COUNT(*)
	FROM employees e
	WHERE e.department_id = d. department_id
) 个数
FROM departments d;

#案例2:查询员工号=102的部门名

SELECT(
	SELECT department_name
	FROM departments
	INNER JOIN employees
	ON employees.`department_id`=departments.`department_id`
	WHERE employee_id = 102

) 部门名;
MySQL中的SELECT子查询是指在一个SELECT语句中嵌套另一个SELECT语句,用于从一个表中获取数据,并将其作为外部查询的条件或结果之一。子查询可以嵌套多层,每一层都可以根据需要进行筛选和操作。 以下是MySQLSELECT子查询的一些常见用法和示例: 1. 子查询作为条件: 可以将子查询的结果作为外部查询的条件之一,例如: ``` SELECT column1, column2 FROM table1 WHERE column3 IN (SELECT column4 FROM table2); ``` 这个例子中,子查询 `(SELECT column4 FROM table2)` 返回一个结果集,然后外部查询根据这个结果集来筛选出满足条件的行。 2. 子查询作为列: 可以将子查询的结果作为外部查询的列之一,例如: ``` SELECT column1, (SELECT column2 FROM table2 WHERE condition) AS subquery_result FROM table1; ``` 这个例子中,子查询 `(SELECT column2 FROM table2 WHERE condition)` 返回一个结果,然后外部查询将这个结果作为一个新的列 `subquery_result` 返回。 3. 子查询作为表: 可以将子查询的结果作为外部查询的临时表来使用,例如: ``` SELECT t1.column1, t2.column2 FROM (SELECT column1 FROM table1 WHERE condition) AS t1 JOIN (SELECT column2 FROM table2 WHERE condition) AS t2 ON t1.column1 = t2.column2; ``` 这个例子中,子查询 `(SELECT column1 FROM table1 WHERE condition)` 和 `(SELECT column2 FROM table2 WHERE condition)` 分别作为临时表 `t1` 和 `t2`,然后外部查询通过JOIN操作将它们连接起来。 以上是一些常见的MySQL SELECT子查询的用法和示例,希望对你有帮助。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值