这是基于之前创建的几张表,在这一链接:https://blog.csdn.net/BrantTang/article/details/127221542?spm=1001.2014.3001.5501
1.单表查询
(1)查询所有学生的信息。
select * from student;
(2)查询所有女生的姓名和年龄。
select sno,sname from student where sex='1';
(3)查询cno为1的成绩在80 到89 之间的所有学生考试成绩,查询结果按成绩的降序排列。
select grade from sc where cno=1 and grade between 80 and 90;
(4)统计各个系的学生人数。
select count(*),dno from student group by dno;
(5)查询视图cs_student的数据。
select * from cs_student
2.连接查询
(1)查询“软件工程”系的年龄在21 岁以下(含21 岁)的女生姓名及年龄。
这里我趁次机会尝试了多种连接方式
/*using关键字*/
select s.sno,s.sname,dno from student s join dept d using (dno)
where d.dname = '软件工程' ;
/*on关键字*/
select s.sno,s.sname,d.dno from student s join dept d
on s.dno = d.dno where d.dname = '软件工程';
/*嵌套查询*/
select s.sno,s.sname,dno from student s where s.dno =(
select d.dno from dept d where d.dname = '软件工程');
/*等值连接查询*/
select s.sno,s.sname,d.dno from student s,dept d
where s.dno = d.dno and d.dname = '软件工程';
(2)查询数据结构课程的考试成绩。
select c.cname,sc.grade from course c join sc using(cno)
where c.cname='数据结构';
(3)查询选修了数据结构课程的学生学号和姓名。
select s.sname,s.sno,dno,sc.grade from student s join sc on s.sno=sc.sno
join course c on sc.cno=c.cno where c.cname = '数据结构';
(4)统计“软件工程”系的学生人数。
select count(*) "总人数" from student where dno=(
select dno from dept where dname = '软件工程');
总结:可以看到只是一个简易的开始,后续还需要更多的练习。其实目前更多的是在复习,因为之前有学习过,但是知识遗忘太严重,需要时常回顾。