用SQL语句写出 查询各系的教师人数,学生人数,并按照学生人数与教师人数升序排列
时间: 2024-05-19 11:17:57 浏览: 99
好的,您的问题是:“用SQL语句写出查询各系的教师人数、学生人数,并按照学生人数与教师人数升序排列”。下面是SQL语句:
SELECT department, COUNT(CASE WHEN role='teacher' THEN 1 END) AS teacher_num, COUNT(CASE WHEN role='student' THEN 1 END) AS student_num
FROM table_name
GROUP BY department
ORDER BY student_num ASC, teacher_num ASC;
其中,table_name表示存储教师和学生信息的数据库表名,role表示每个人在该数据库中所扮演的角色(教师或学生)。这个语句会按照学生人数和教师人数升序排列,并返回各个系的教师人数和学生人数。
相关问题
使用SQL语言写出以下几个语句:创建了学生表S,课程表C,选课表SC。查询每个系的学生人数,结果包含系名和人数,按人数升序排列。 9. 查询每名学生所选课程的平均成绩和总学分,结果显示姓名、总成绩、总学分三列。 10. 查询选修了2门以上(含2门)课程的学生姓名。 11. 查询计算机系(CS)的男同学的选课情况,结果包含姓名、课程名两列。 12. 查询没有选修2号课的学生姓名。(要求用嵌套查询)。
1. 创建表S、C、SC的SQL语句:
```
CREATE TABLE S (
Sno CHAR(10) PRIMARY KEY,
Sname VARCHAR(20) NOT NULL,
Ssex CHAR(2),
Sage INT,
Sdept VARCHAR(20)
);
CREATE TABLE C (
Cno CHAR(10) PRIMARY KEY,
Cname VARCHAR(20) NOT NULL,
Tno CHAR(10),
Credit INT
);
CREATE TABLE SC (
Sno CHAR(10),
Cno CHAR(10),
Grade INT,
PRIMARY KEY (Sno, Cno),
FOREIGN KEY (Sno) REFERENCES S(Sno),
FOREIGN KEY (Cno) REFERENCES C(Cno)
);
```
2. 查询每个系的学生人数的SQL语句:
```
SELECT S.Sdept, COUNT(*) AS count
FROM S
GROUP BY S.Sdept
ORDER BY count ASC;
```
3. 查询每名学生所选课程的平均成绩和总学分的SQL语句:
```
SELECT S.Sname, SUM(SC.Grade * C.Credit) AS total_score, SUM(C.Credit) AS total_credit
FROM S, SC, C
WHERE S.Sno = SC.Sno AND SC.Cno = C.Cno
GROUP BY S.Sno;
```
4. 查询选修了2门以上(含2门)课程的学生姓名的SQL语句:
```
SELECT S.Sname
FROM S, SC
WHERE S.Sno = SC.Sno
GROUP BY S.Sno
HAVING COUNT(*) >= 2;
```
5. 查询计算机系(CS)的男同学的选课情况的SQL语句:
```
SELECT S.Sname, C.Cname
FROM S, SC, C
WHERE S.Sno = SC.Sno AND SC.Cno = C.Cno AND S.Sdept = 'CS' AND S.Ssex = '男';
```
6. 查询没有选修2号课的学生姓名的SQL语句(使用嵌套查询):
```
SELECT S.Sname
FROM S
WHERE S.Sno NOT IN (
SELECT SC.Sno
FROM SC
WHERE SC.Cno = '2'
);
```
按照以上的要求写出SQL代码
由于没有具体的数据表和需求,以下是一个示例的SQL代码:
```
SELECT *
FROM customers
WHERE age > 18
ORDER BY last_name ASC;
```
这条SQL语句将从名为 `customers` 的数据表中选择所有年龄大于18岁的客户,并按照客户的姓氏升序排列。请注意,这只是示例代码,实际应用中需要根据具体需求编写相应的SQL语句。
相关推荐
![application/msword](https://img-home.csdnimg.cn/images/20210720083327.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.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)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)