转载自http://www.cnblogs.com/TankXiao/p/5480548.html
Student表和Score表的定义
创建表的语句
CREATE TABLE [bdo].[student]{
[id] [int] IDENTITY(1,1) NOT NULL,
//使用 IDENTITY 关键字来执行 auto-increment 任务
//(1,1)表示从1开始,每次递增1
[stu_id] [int] NULL,
[name] [verchar] (20) NULL,
[sex] [varchar] (10) NULL,
[birth] [data] NULL,
[department] [varchar](20) NULL,
[address] [varchar](50) NULL
}ON [PRIMARY]
CREATE TABLE [dbo].[Score](
[id] [int] IDENTITY(1,1) NOT NULL,
[stu_id] [int](10) NULL,
[c_name] [varchar](20) NULL,
[grade] [int](10) NULL
) ON [PRIMARY]
插入数据
INSERT INTO Student VALUES( 901,'张老大', '男','1985-09-13','计算机系', '北京市海淀区');
INSERT INTO Student VALUES( 902,'张老二', '男','1986-01-02','中文系', '北京市昌平区');
INSERT INTO Student VALUES( 903,'张三', '女','1990-12-13','中文系', '湖南省永州市');
INSERT INTO Student VALUES( 904,'李四', '男','1990-12-13','英语系', '辽宁省阜新市');
INSERT INTO Student VALUES( 905,'王五', '女','1991-08-17','英语系', '福建省厦门市');
INSERT INTO Student VALUES( 906,'王六', '男','1988-09-10','计算机系', '湖南省衡阳市');
INSERT INTO Score VALUES(901, '计算机',98);
INSERT INTO Score VALUES(901, '英语', 80);
INSERT INTO Score VALUES(902, '计算机',65);
INSERT INTO Score VALUES(902, '中文',88);
INSERT INTO Score VALUES(903, '中文',95);
INSERT INTO Score VALUES(904, '计算机',70);
INSERT INTO Score VALUES(904, '英语',92);
INSERT INTO Score VALUES(905, '英语',94);
INSERT INTO Score VALUES(906, '计算机',90);
INSERT INTO Score VALUES(906, '英语',85);
1、查询Student表中所有记录
SELECT * FROM Student
* 是通配符, 意思是所有的列
2、查询Student表中,所有学生的姓名和院系
SELECT name,epartment FROM Student
3、查询Student表的信息,按照学生的年龄从大到小排序
SELECT * FROM Student ORDER BY birth ASC
ORDER BY 关键字是排序
4、查询Student表的信息,按照学生的年龄从小到大排序
descent 降序
SELECT * FROM Student ORDER BY birth DES
5、查询Student表中, 叫王五的学生的信息
SELECT * FROM Student WHERE name=’王五’
6、查询Student表中,来自北京的学生
SELECT * FROM Student WHERE adress LIKE ‘%北京%’
- ‘A_Z’: 所有以 ‘A’ 起头,另一个任何值的字原,且以 ‘Z’ 为结尾的字串。 ‘ABZ’ 和 ‘A2Z’ 都符合这一个模式,而 ‘AKKZ’ 并不符合 (因为在 A 和 Z 之间有两个字原,而不是一个字原)。
- ‘ABC%’: 所有以 ‘ABC’ 起头的字串。举例来说,’ABCD’ 和 ‘ABCABC’ 都符合这个套式。
- ‘%XYZ’: 所有以 ‘XYZ’ 结尾的字串。举例来说,’WXYZ’ 和 ‘ZZXYZ’ 都符合这个套式。
- ‘%AN%’: 所有含有 ‘AN’ 这个套式的字串。举例来说, ‘LOS ANGELES’ 和 ‘SAN FRANCISCO’ 都符合这个套式。
7、查询所有计算机系和英语系的学生的信息
SELECT * FROM Student WHERE department=’英语系’or department=’计算机系’
8、查询所有计算机系和英语系和化学系的学生的信息
SELECT * FROM Student WHERE department IN (’英语系’,’计算机系’,’化学系’)
9、查询Student表中, 年龄从大到小排第二,第三,第四的三个人的信息
select * from STUDENT order by desc OFFSET 10 ROW FETCH NEXT 5 ROWS ONLY
查询每个院系有多少人
查询李四的考试科目和考试成绩
seleect name,grade from select id from student where name=’李四’
用连接的方式查询所有学生的信息和考试信息
计算每个学生的总成绩
计算每个考试科目的平均成绩
查询计算机成绩低于95的学生信息
查询同事参加计算机和英语考试的学生信息
将计算机考试成绩按从高到低进行排序
查询姓张的同学的姓名院系和考试科目及成绩
查询湖南的学生的姓名,年龄,院系和考试科目及成绩