数据库:在班级表里找到辅导员id,然后再专业表里查询学院名称
时间: 2023-11-26 19:04:24 浏览: 124
班级查询系统
假设班级表(class)有以下字段:id, name, counselor_id,专业表(major)有以下字段:id, name, college_id。
我们可以使用 SQL 的 JOIN 语句来完成这个查询:
```sql
SELECT c.id, c.name, m.name AS major_name, col.name AS college_name
FROM class c
JOIN major m ON c.major_id = m.id
JOIN college col ON m.college_id = col.id
WHERE c.counselor_id = 1;
```
上面的 SQL 语句中,我们使用了两次 JOIN 语句,将班级表、专业表和学院表连接起来。然后使用 WHERE 语句指定了辅导员的 id,最后使用 SELECT 语句来查询班级名称、专业名称和学院名称。
在 PHP 中,我们可以使用框架提供的 Query 类来生成这个 SQL 语句,例如:
```php
use think\Db;
$result = Db::table('class')
->alias('c')
->join('major m', 'c.major_id = m.id')
->join('college col', 'm.college_id = col.id')
->field('c.id, c.name, m.name AS major_name, col.name AS college_name')
->where('c.counselor_id', 1)
->select();
```
在上面的 PHP 代码中,我们使用了 `alias` 方法为 class 表设置别名 c,使用了两次 `join` 方法连接了 major 表和 college 表。然后使用 `field` 方法来指定查询的字段,使用 `where` 方法来指定辅导员的 id,最后使用 `select` 方法来执行查询。
阅读全文