1.查询xsda表中总学分大于60分的学生;2.查询xsda表中2003年以前出生的男生学号、姓名、性别、出生日期;3.查询kcxx表中第2,3,4学期开设的课程情况;4.查询xsda表中总学分大于等于50,小于等于55之间的学生信息。
时间: 2024-10-27 08:06:48 浏览: 20
在SQL查询中,您可以使用以下语句来实现这些需求:
1. 查询xsda表中总学分大于60分的学生:
```sql
SELECT * FROM xsda WHERE 总学分 > 60;
```
2. 查询xsda表中2003年以前出生的男生学号、姓名、性别、出生日期:
```sql
SELECT 学号, 姓名, 性别, 出生日期
FROM xsda
WHERE 年龄 < (YEAR(CURDATE()) - 2003) AND 性别 = '男';
```
这里假设`年龄`字段是通过当前年份减去出生年份计算得出。
3. 查询kcxx表中第2,3,4学期开设的课程情况:
```sql
SELECT * FROM kcxx WHERE 学期 IN (2, 3, 4);
```
4. 查询xsda表中总学分大于等于50, 小于等于55之间的学生信息:
```sql
SELECT * FROM xsda WHERE 总学分 BETWEEN 50 AND 55;
```
请注意,上述查询的前提是您的数据库表结构和字段命名与提供的相符,如果实际表结构有所不同,需要调整字段名以适应实际情况。对于具体的查询结果,您还需要配合相应的数据库操作来运行这些SQL命令。
相关问题
SQL中查询xsda表中各同学的学号、姓名和总学分,对其总学分按以下规则进行替换:若总学分为空值,则替换为“尚未选课” 若总学分小于50,则替换为“不及格” 若总学分在50与52之间,则替换
在SQL中,你可以使用`COALESCE`, `CASE`或`IFNULL`等函数来处理这种条件替换的情况。这里是一个示例,假设你的表名为`xsda`,并且有`student_id`(学号)、`name`(姓名)和`total_credits`(总学分)字段:
```sql
SELECT
student_id,
name,
CASE
WHEN total_credits IS NULL THEN '尚未选课'
WHEN total_credits < 50 THEN '不及格'
WHEN total_credits BETWEEN 50 AND 52 THEN '及格边缘'
ELSE total_credits
END AS modified_total_credits
FROM xsda
```
在这个查询中,`CASE`表达式检查每个`total_credits`值,并根据给定的条件返回相应的字符串。如果`total_credits`不存在(`IS NULL`),则返回'尚未选课';如果小于50,则返回'不及格';如果在50到52之间(包括50和52),返回'及格边缘'。其他情况则保留原始的`total_credits`值。
查询xsda表中的学号、姓名、性别三项信息,结果按照女生优先的顺序显示。
查询xsda表中的学号、姓名、性别三项信息,结果按照女生优先的顺序显示,可以使用如下SQL语句:
SELECT 学号, 姓名, 性别 FROM xsda ORDER BY CASE WHEN 性别='女' THEN ELSE 1 END, 姓名;
其中,ORDER BY子句中的CASE语句用于将性别为女的记录排在前面,其余记录排在后面;同时,按照姓名进行升序排列。
阅读全文