student表有三个字段code、name、age; subject表有三个字段code、class、score。 两表记录如下: code name age code class score 97001 张三 22 97001 C语言 80 97002 赵四 21 97002 Java 59 97003 张飞 20 97002 C语言 60 97004 李五 22 97004 Java 55 1.请写出SQL,找出所有姓张的学生,并按年龄从小到大排列。 2.请写出SQL,取出计算机科考成绩不及格的学生。 3.通过等值联接,取出name、class、score,请写出SQL。 4.李五的年龄记录错了,应该是21,请写SQL,根据主键进行更新。 5.请写SQL,删除student中没有考试成绩的学生记录,请使用not in条件。
时间: 2024-02-14 21:25:35 浏览: 26
1. SELECT * FROM student WHERE name LIKE '张%' ORDER BY age ASC;
2. SELECT * FROM student WHERE code NOT IN (SELECT code FROM subject WHERE class = '计算机科' AND score >= 60);
3. SELECT student.name, subject.class, subject.score FROM student INNER JOIN subject ON student.code = subject.code;
4. UPDATE student SET age = 21 WHERE code = 97004;
5. DELETE FROM student WHERE code NOT IN (SELECT code FROM subject);
相关问题
表明:student 字段:code,name 请帮忙写个name重名的sql语句
假设你要查询学生表中姓名(name)重复的记录,可以使用以下 SQL 语句:
```
SELECT name, COUNT(*) as count
FROM student
GROUP BY name
HAVING count > 1;
```
这个 SQL 语句会对学生表按照姓名(name)进行分组,并统计每组中记录的数量。然后,使用 HAVING 子句来筛选出记录数量大于 1 的分组,也就是姓名重复的记录。最后,SELECT 子句中只选择姓名(name)和记录数量(count)两列。
注意:这个 SQL 语句只能查询出姓名重复的记录,并不能删除或修改这些记录。如果需要删除或修改,请使用 DELETE 或 UPDATE 语句。
补全SQL语句,要求按照成绩字段score降序显示student表中所有记录
以下是按照成绩字段score降序显示student表中所有记录的MySQL语句:
```
SELECT * FROM student ORDER BY score DESC;
```
这将返回student表中所有记录,并按照成绩字段score降序排列。请注意,这是基于MySQL数据库系统的语句,如果你使用的是其他关系型数据库系统,语法可能会有所不同。