用非相关子查询查询没有选修’数据库原理’课程的学生的学号、姓名
时间: 2023-10-29 14:05:47 浏览: 51
好的,以下是查询语句:
```sql
SELECT s.s_id, s.s_name
FROM student s
WHERE s.s_id NOT IN (
SELECT sc.s_id
FROM score sc, course c
WHERE sc.c_id = c.c_id AND c.c_name = '数据库原理'
);
```
这个查询语句使用了一个非相关子查询,先在 score 和 course 表中找到所有选了 '数据库原理' 这门课的学生学号,然后在 student 表中找到所有不在这个列表中的学生,最终返回这些学生的学号和姓名。
相关问题
用非相关子查询查询选修课程超过3门的学生的学号,姓名,结果以学号升序输出
好的,以下是查询语句:
```sql
SELECT s.s_id, s.s_name
FROM student s
WHERE s.s_id IN (
SELECT sc.s_id
FROM score sc
GROUP BY sc.s_id
HAVING COUNT(*) > 3
)
ORDER BY s.s_id ASC;
```
这个查询语句使用了一个非相关子查询,先在 score 表中按照学生分组,统计每个学生选修的课程数量,然后在这个列表中找到选修课程超过3门的学生学号,在 student 表中找到这些学生的姓名,并按照学号升序输出结果。
mysql相关子查询和非相关子查询
MySQL中的子查询是指在一个查询语句中嵌套另一个查询语句。根据子查询和外部查询之间的相关性,可以将子查询分为相关子查询和非相关子查询。
相关子查询指的是子查询的结果依赖于外部查询的结果。在相关子查询中,子查询的执行是在外部查询之后进行的。例如,我们可以使用相关子查询来查找具有特定属性的行。例如,我们可以使用一个外部查询来检索所有订单总数大于平均订单总数的顾客:
SELECT *
FROM Customers c
WHERE (SELECT COUNT(*)
FROM Orders o
WHERE o.CustomerID = c.CustomerID) > (SELECT AVG(OrderCount)
FROM (SELECT COUNT(*) AS OrderCount
FROM Orders
GROUP BY CustomerID) AS Subquery)
在上面的例子中,子查询的结果依赖于外部查询(即外部查询的结果是子查询的一部分)。
非相关子查询是指子查询的结果独立于外部查询的结果。在非相关子查询中,子查询可以在外部查询执行之前或之后执行。例如,我们可以使用非相关子查询来返回某个表中的最大值:
SELECT *
FROM Products
WHERE Price = (SELECT MAX(Price)
FROM Products)
在上面的例子中,子查询的结果独立于外部查询(即子查询在外部查询执行之前执行)。
总而言之,相关子查询依赖于外部查询的结果,而非相关子查询与外部查询的结果独立。根据具体的需求,我们可以选择使用相关子查询或非相关子查询来实现所需的查询操作。
相关推荐
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)