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

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

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

SQL数据库简单查询和连接查询_第1张图片
(2) 求选修了课程的学生学号。

SELECT DISTINCT Sno
FROM SC;

SQL数据库简单查询和连接查询_第2张图片
(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;
 

SQL数据库简单查询和连接查询_第3张图片
(2) 求供应工程J1零件P1的供应商号SNO。

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

SQL数据库简单查询和连接查询_第4张图片
(3) 统计每种零件的供应总量。

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

SQL数据库简单查询和连接查询_第5张图片

你可能感兴趣的:(数据库的基本操作)