四、使用T-SQL语句完成以下操作 1.查询所有女同学的信息; 2.查询姓王的同学的学号、姓名、性别; 3.查询各个同学的平均分; 4.查询不及格同学的姓名; 5.查询平均分大75分的学生的学号、姓名和班级名称信息。
时间: 2024-03-30 10:38:24 浏览: 182
1. 查询所有女同学的信息:
```
SELECT * FROM students WHERE gender = '女';
```
2. 查询姓王的同学的学号、姓名、性别:
```
SELECT id, name, gender FROM students WHERE name LIKE '王%';
```
3. 查询各个同学的平均分:
```
SELECT id, name, AVG(score) as avg_score FROM scores GROUP BY id;
```
4. 查询不及格同学的姓名:
```
SELECT students.name FROM students JOIN scores ON students.id = scores.id WHERE scores.score < 60;
```
5. 查询平均分大75分的学生的学号、姓名和班级名称信息:
```
SELECT students.id, students.name, classes.name as class_name FROM students JOIN classes ON students.class_id = classes.id JOIN (SELECT id, AVG(score) as avg_score FROM scores GROUP BY id) AS temp ON students.id = temp.id WHERE temp.avg_score > 75;
```
相关问题
使用T-SQL语句完成以下功能: 1.请用T-SQL语句往表STUDENT中插入数据(8106,考生本人姓名,考生本人性别,102,考生本人生源地,考生本人出生年月)。(3分) 2.将CLASS表中专业名“信息管理”改为“计算机信息管理”。(3分) 3.查询来自福建的学生的学号,姓名和性别。(3分) 4.查询出学生性别为男的学生姓名。(3分) 5.用模糊查询出姓李的女生记录。(3分) 6.在查询语句中使用聚合函数计算出所有学生总数,并为该列取别名为学生人数。(3分) 7.查询所有班级的信息,并用班级号进行降序排序。(3分) 8.查找出学号在8101到8104的学生姓名、专业名。(3分) 9.查询出“软件工程”系里所有的班级的班号,专业名。(3分) 10.删除学生表未填写籍贯信息的同学的记录。
1.INSERT INTO STUDENT VALUES(8106,'考生本人姓名','考生本人性别',102,'考生本人生源地','考生本人出生年月');
2.UPDATE CLASS SET 专业名='计算机信息管理' WHERE 专业名='信息管理';
3.SELECT 学号,姓名,性别 FROM STUDENT WHERE 考生本人生源地='福建';
4.SELECT 姓名 FROM STUDENT WHERE 考生本人性别='男';
5.SELECT * FROM STUDENT WHERE 姓名 LIKE '李%' AND 考生本人性别='女';
6.SELECT COUNT(*) AS 学生人数 FROM STUDENT;
7.SELECT * FROM CLASS ORDER BY 班级号 DESC;
8.SELECT 学号,姓名,专业名 FROM STUDENT WHERE 学号 BETWEEN 8101 AND 8104;
9.SELECT 班号,专业名 FROM CLASS WHERE 专业名='软件工程';
10.DELETE FROM STUDENT WHERE 籍贯 IS NULL;
1.创建一个名为sex的局部变量,并在 SELECT 语句中使用该局部变量查找表xsb中所有女同学的学号、姓名。 2. 使用查询给变量赋值 3. 查询姓名以张或王开头的姓名的学生的情况。 4. 根据自己的出生时间计算年龄。 使用t-sql语言进行编程
在T-SQL中,你可以按照以下步骤操作:
1. 创建一个名为`sex`的局部变量并查询女同学信息:
```sql
DECLARE @sex NVARCHAR(10) = '女'; -- 定义性别变量
SELECT sxh, xnm FROM xsb WHERE sx = @sex; -- 查询xsb表中性别为女的同学学号(sxh)和姓名(xnm)
```
2. 使用查询结果给变量赋值:
```sql
DECLARE @queryResult TABLE (ID INT IDENTITY, Name NVARCHAR(100)); -- 定义临时表
INSERT INTO @queryResult (Name)
EXEC('SELECT Name FROM students WHERE Age > 18'); -- 执行查询并将结果插入临时表
SELECT * FROM @queryResult; -- 查看已赋值的变量内容
```
这里假设`students`表有一个字段`Age`,用于判断是否大于18岁。
3. 查询姓名以张或王开头的姓名的学生情况:
```sql
SELECT * FROM students WHERE Name LIKE '张%' OR Name LIKE '王%'; -- 使用LIKE关键字匹配首字符
```
4. 计算当前日期与用户输入的出生日期之间的年龄差,假设有列`BirthDate`表示出生日期:
```sql
DECLARE @birthDate DATE = '1990-01-01'; -- 假设这是用户的出生日期
DECLARE @currentDate DATE = GETDATE(); -- 获取当前日期
SELECT DATEDIFF(YEAR, @birthDate, @currentDate) AS 'Age'; -- 计算年龄差(年)
```
以上每个步骤都展示了如何在T-SQL中处理变量和条件查询。
阅读全文