SQL数据库简单查询和连接查询

本文详细介绍了使用SQL进行数据查询的多种技巧,包括条件筛选、排序、联表查询、统计等,通过具体案例展示了如何从数据库中高效地获取所需信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.在教学管理JXGL数据库中进行如下操作:
(1) 求数学系学生的学号和姓名。

SELECT Sno,Sname
FROM STUDENT
WHERE Sdept='MA';

在这里插入图片描述
(2) 求选修了课程的学生学号。

SELECT DISTINCT Sno
FROM SC;

在这里插入图片描述
(3) 求选修了数学课的学生学号和成绩,并要求对查询结果按成绩降序排列,如果成绩相同则按学号升序排列。

SELECT Sno,Grade
FROM SC
WHERE(Cno=’2’)
ORDER BY Grade DESC,Sno ASC;

(4) 求选修数学课其且成绩在80-90之间的学生学号和成绩,并将成绩乘以系数0.8输出。

SELECT Sno,Grade*0.8
FROM SC
WHERE  Grade>=80 AND Grade<=90 AND Cno='2';

(5) 求数学系或计算机系姓刘的学生的信息。

  SELECT Sno,Sname,Ssex,Sage
FROM STUDENT
WHERE (Sdept='MA'OR Sdept='IS')AND Sname LIKE '刘%';

(6) 求缺少了成绩的学生的学号和课程号。

SELECT Sno,Cno
FROM SC
WHERE Grade IS NULL;

(7) 查询每个学生的情况以及他(她)所选修的课程。

SELECT *
FROM STUDENT,SC
WHERE STUDENT.Sno=SC.Sno;


(8) 求学生的学号、姓名、选修的课程名及成绩。

SELECT SC.Sno,Sname,Cname,Grade
FROM STUDENT,SC,COURSE
WHERE STUDENT.Sno=SC.Sno AND SC.Cno=COURSE.Cno;

(9) 求选修数学课且成绩为90分以上的学生学号、姓名、及成绩。

SELECT STUDENT.Sno,Sname,Grade
FROM STUDENT,SC,COURSE
WHERE STUDENT.Sno=SC.Sno AND SC.Cno=COURSE.Cno AND SC.Cno='2' AND Grade>=90;

(10)查询每一门课的间接先行课(即先行课的先行课)。

SELECT a.Cno,b.Cpno
FROM COURSE a,COURSE b
WHERE a.Cpno=b.Cno;

2.在供应系统GYXT数据库中进行如下操作:
(1) 求供应工程J1零件的供应商号SNO。

SELECT DISTINCT SNO
FROM SPJ;
 

在这里插入图片描述
(2) 求供应工程J1零件P1的供应商号SNO。

SELECT  DISTINCT SNO
FROM SPJ
WHERE PNO='P1' AND JNO='J1';
 

在这里插入图片描述
(3) 统计每种零件的供应总量。

SELECT  PNAME,WRIGHT
FROM P 
GROUP BY PNAME,WRIGHT;
SELECT DISTINCT PNAME,WRIGHT=(WRIGHT+WRIGHT)
FROM P 
WHERE PNAME=PNAME;
 

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值