练习-----查询
Posted 玉育
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了练习-----查询相关的知识,希望对你有一定的参考价值。
一、建表
1 create table student #学生表 2 ( 3 Sno varchar(20) primary key, #学号,主键 4 Sname varchar(20) not null, #学生姓名 5 Ssex varchar(20) not null, #学生性别 6 Sbirthday datetime, #学生出生日期 7 Class varchar(20) #学生所在班级 8 ); 9 10 create table Teacher #教师表 11 ( 12 Tno varchar(20) primary key , #教职工编号,主键 13 Tnam varchar(20) not null, #教职工姓名 14 Tsex varchar(20) not null, #教职工性别 15 Tbirthday datetime, # 教职工出生年月 16 Prof varchar (20), #职称 17 Depart varchar(20)not null #教职工所在部门 18 ); 19 20 create table Course #课程表 21 ( 22 Con varchar(20) primary key, #课程号,主键 23 Cname varchar(20) not null, #课程名称 24 Tno varchar(20) not null, #教职工 25 foreign key(Tno)references Teacher(Tno) #教工编号,外键 26 ); 27 # 从表的列名 主表的列名 28 29 30 create table Score #成绩表 31 ( 32 Sno varchar(20) not null, 33 foreign key(Sno) references Student(Sno) , #学号,外键 34 Con varchar(20) not null, #组合主键 35 Degree Decimal(4,1) , #Degree 成绩 36 foreign key(Con) references Course(Con) , #课程号,外键 37 primary key (Sno,Con) #成绩 38 ); 39 #values 值的意思 40 41 42 43 44 #Student表 45 insert into Student values(‘108‘,‘曾华‘,‘男‘,‘1977-09-01‘,‘95033‘); 46 insert into Student values(‘105‘,‘匡明‘,‘男‘,‘1975-10-02‘,‘95031‘); 47 insert into Student values(‘107‘,‘王丽‘,‘女‘,‘1976-01-23‘,‘95033‘); 48 insert into Student values(‘101‘,‘李军‘,‘男‘,‘1976-02-20‘,‘95033‘); 49 insert into Student values(‘109‘,‘王芳‘,‘女‘,‘1975-02-10‘,‘95031‘); 50 insert into Student values(‘103‘,‘陆君‘,‘男‘,‘1974-06-03‘,‘95031‘); 51 52 53 54 55 #Teacher表 56 insert into Teacher values(‘804‘,‘李诚‘,‘男‘,‘1958-12-02‘,‘副教授‘,‘计算机系‘); 57 insert into Teacher values(‘856‘,‘张旭‘,‘男‘,‘1969-03-12‘,‘讲师‘,‘电子工程系‘); 58 insert into Teacher values(‘825‘,‘王萍‘,‘女‘,‘1972-05-05‘,‘助教‘,‘计算机系‘); 59 insert into Teacher values(‘831‘,‘刘冰‘,‘女‘,‘1977-08-14‘,‘助教‘,‘电子工程系‘); 60 61 62 63 #Course 课程表 64 insert into Course values(‘3-105‘,‘计算机导论‘,‘825‘); 65 insert into Course values(‘3-245‘,‘操作系统‘,‘804‘); 66 insert into Course values(‘6-166‘,‘数字电路‘,‘856‘); 67 insert into Course values(‘9-888‘,‘高等数学‘,‘831‘); 68 69 70 71 #Score 成绩表 72 insert into Score values(‘103‘,‘3-245‘,‘86‘); 73 insert into Score values(‘105‘,‘3-245‘,‘75‘); 74 insert into Score values(‘109‘,‘3-245‘,‘68‘); 75 insert into Score values(‘103‘,‘3-105‘,‘92‘); 76 insert into Score values(‘105‘,‘3-105‘,‘88‘); 77 insert into Score values(‘109‘,‘3-105‘,‘76‘); 78 insert into Score values(‘101‘,‘3-105‘,‘64‘); 79 insert into Score values(‘107‘,‘3-105‘,‘91‘); 80 insert into Score values(‘108‘,‘3-105‘,‘78‘); 81 insert into Score values(‘101‘,‘6-166‘,‘85‘); 82 insert into Score values(‘107‘,‘6-166‘,‘79‘); 83 insert into Score values(‘108‘,‘6-166‘,‘81‘);
查询题:
1、查询Student表中的所有记录的Sname、Ssex和Class列。
#运用知识点:select 列名1,列名2,列名3... from 表名
select Sname,Ssex,Class from Student
2、 查询教师所有的单位即不重复的Depart列。
#去重查询:select distinct 列名 from 表名
#查出Teacher表中的Depart列 加上distinct关键字就是去重复
select distinct Depart from Teacher
3、 查询Student表的所有记录。
#select * from 表名 *整个标的所有列
select * from Student
4、 查询Score表中成绩在60到80之间的所有记录。
# 范围查询: select * from 表名 where Price between 范围值 and 范围值
select * from Score where Degree between 60 and 80
5、 查询Score表中成绩为85,86或88的记录。
#离散查询:select * from 表名 where 要查的列名 in (要查的数值1,数值2,数值3)
select * from Score where Degree in (85,86,88)
6、 查询Student表中“95031”班或性别为“女”的同学记录。
#所有的班级的学生
select * from student
#"95031”班的学生
select * from student where class=‘95031‘
#找出95031”班的女学生 。用and关键字 来查找95031板的女生 。 就一个女学生。
select * from student where class=‘95031‘ and Ssex=‘女‘
select * from Student where Class=‘95031‘ and Ssex=‘女‘
7、 以Class降序查询Student表的所有记录。
#desc降序 排序 order by查找
#select * from 表名 order by 列名 desc
select * from Student order by Class desc
8、 以Cno升序、Degree降序查询Score表的所有记录。
#在Score表,里查
#根据两个条件来排序。asc升序
#两个条件 :Cno升序、Degree降序
select * from Score order by Cno asc , Degree desc
以上是关于练习-----查询的主要内容,如果未能解决你的问题,请参考以下文章