快速业务通道

面试准备之SQL 4—— 数据查询

作者 佚名技术 来源 数据库编程 浏览 发布时间 2012-03-21

代码
use master
go
-----------创建数据库------------

if exists (select * from sysdatabases where name=''stuDB'')
drop database stuDB
create database stuDB
on PRimary
(
name=''stuDB_data'',
filename=''D:\stuDB_data.mdf'',
size=3mb,
maxsize=10mb,
filegrowth=1mb
)
log on
(
name=''stuDB_log'',
filename=''D:\stuDB_data.ldf'',
size=1mb,
filegrowth=1mb
)

-----------创建数据库表------------
use stuDB
go
if exists (select * from sysobjects where name=''stuInfo'')
drop table stuInfo
create table stuInfo
(
    stuId int identity(1,1) primary key not null,
    stuName varchar(20) not null,
    stuNo varchar(20) not null,
    stuSex char(6) not null,
    stuAge int not null,
    stuAddress text null
)
go

if exists (select * from sysobjects where name=''stuMarks'')
drop table stuMarks
create table stuMarks
(
    marksId int identity(1,1) primary key not null,
    ExamNo varchar(50) not null, --考号
    stuNo char(6) not null,--学号
    writtenExam int  null,--笔试成绩
    LabExam int null--机试成绩
)
go
--向学员信息表stuInfo插入数据--
INSERT INTO stuInfo(stuName,stuNo,stuSex,stuAge,stuAddress)VALUES(''张秋丽'',''s25301'',''男'',18,''北京海淀'')
INSERT INTO stuInfo(stuName,stuNo,stuSex,stuAge,stuAddress) VALUES(''李斯文'',''s25303'',''女'',22,''河南洛阳'')
INSERT INTO stuInfo(stuName,stuNo,stuSex,stuAge) VALUES(''李文才'',''s25302'',''男'',31)
INSERT INTO stuInfo(stuName,stuNo,stuSex,stuAge,stuAddress) VALUES(''欧阳俊雄'',''s25304'',''男'',28,''威武哈'')

--向学员成绩表stuMarks插入数据--
INSERT INTO stuMarks(ExamNo,stuNo,writtenExam,LabExam) VALUES(''E2005070001'',''s25301'',80,58)
INSERT INTO stuMarks(ExamNo,stuNo,writtenExam) VALUES(''E2005070002'',''s25302'',50)
INSERT INTO stuMarks(ExamNo,stuNo,writtenExam,LabExam) VALUES(''E2005070003'',''s25303'',97,82)

--查看数据--
select * from stuInfo
select * from stuMarks

/*=======查询数据练习=========*/
--1.查询两表的数据--
select * from stuInfo
select * from stuMarks
 --2.查询男学员名单--
select * from stuInfo where stuSex=''男''
 --3.查询笔试成绩优秀的学员情况(成绩在75~100之间)--
select * from stumarks where writtenexam between 75 and 100
 --4.查询参加本次考试的学员成绩,包括学员姓名,笔试成绩,机试成绩--
select i.stuName,m.writtenExam,m.LabExam from stuInfo as i inner join stuMarks as m on m.stuNo = i.stuNo
 --5.统计笔试考试平均分和机试考试平均分--
select avg(writtenExam) as 笔试平均成绩,avg(LabExam) as 机试平均成绩 from stuMarks
select avg(writtenExam) 笔试平均成绩,avg(LabExam) 机试平均成绩 from stuMarks
 --6.统计参加本次考试的学员人数
select count(stuno) from stumarks
 --7.查询没有通过考试的人数(笔试或机试小于60分)--
select count(stuno) from stumarks where writtenExam <= 60 or labexam<=60
select * from stumarks where writtenExam is null or labexam is null --查询为全部参加考试的信息
 --8.查询学员成绩,显示学号,笔试成绩,机试成绩,平均分--
select stuno as 学号,writ

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号