当前位置:首页 » 编程语言 » sqlserver实用教程郑阿奇
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sqlserver实用教程郑阿奇

发布时间: 2022-01-14 05:54:24

㈠ 求sqlserver权威教程书,语句、视图、高级设计、项目案例。书店的都看了,没感觉。

我是觉的基础书比较好找里面有一天基础的语句还有简单的案例,不过要想学还是要在实际的问题中去操作,可以上一些数据库的论坛,我现在也在学

㈡ SQLServer2005实用教程的图书目录

前言
第1章SQLServer2005概述
本章学习目标
1.1SQLServer2005简介
1.2SQLServer2005的特点
1.3SQLServer2005的安装
1.3.1SQLServer2005的环境需求
1.3.2SQLServer2005的安装
1.3.3SQLServer2005的卸载
1.4SQLServer2005的系统数据库
1.5Transact-SQL语言简介
1.6思考与练习
第2章SQLServer2005常用工具
第3章数据库的创建和管理
第4章数据表的创建和管理
第5章表中数据的操作
第6章Transact-SQL程序设计
第7章视图的创建和使用
第8章索引的创建和使用
第9章存储过程的创建和使用
第10章触发器的创建和使用
第11章SQLServer的安全性管理
第12章数据库的备份和还原
第13章SQLServer数据转换
参考文献

㈢ sqlserver 函数的写法

returns @RowSet table(
ID int identity(1,1) ,
score float,
lastScore float
)
你这里已经声明了一个表格类型变量作为函数的返回值.
那么只要在函数里对这个表进行赋值,就可以直接return

insert into @RowSet values(...)
return
--------
declare @ScoreList table (YScore float)
declare @ScoreList1 table (lastScore float)
-------------------------------------------

怎么我看你又声明了两个表格类型的变量?你函数声明里的返回类型是表,那么单行返回的话就只能往里装简单类型的值.
如果你要union拼接两个table一起返回的话,两个内部table和声明的返回table定义又不一致.
很奇怪的写法...能看出来你想干什么...但这种写法很怪异.
========================================补充
insert into @ScoreList SELECT...
insert into @ScoreList1 SELECT ...
你这不是把两个查询的结果赋给两个内部变量了么,且这个表与你声明的返回表都是一个float列.
你完全可以再把这两个变量表insert 到@RowSet啊,或者不用这俩变量表,直接在两个查询里向@RowSet写入值.
最后直接
return
end
不就行了?
======
http://hi..com/kas68310/blog/item/af4e05f0d5ee18c50a46e012.html
这有个返回值为talble的函数,你参看一下吧.你这个函数的完成度已经相当高了.

㈣ SQL Server 实用教程(第3版)课后实验答案 郑阿奇主编的 邮箱[email protected]

--查询全体学生的学号和姓名.
select Sno,Sname from Student

--查询全体学生的详细记录.
select * from Student

--查询所有选修课程的学生学号.
select distinct Sno from SC

--查询考试有不及格的学生学号.
select distinct Sno from SC where Grade<60

--查询不是信息系(is)、计算机系(cs)的学生性别、年龄、系别。
select Ssex,Sage,Sdept from Student where Sdept not in('is','cs')

--查询选修了4号课的学生学号和成绩,结果按成绩降序排列.
select Student.Sno,Grade from Student,SC where Cno='004' order by Grade desc

--查询每个课程号和相应的选课人数.
select Cno,count(Sno)选课人数 from SC group by Cno

--查询计算机系(cs)的学生姓名、年龄、系别。
select Sno,Sage,Sdept from Student where Sdept in('cs')

--查询年龄18~20岁的学生学号、姓名、系别、年龄。
select Sno,Sname,Sdept,Sage from Student where Sage between 18 and 20

--查询姓刘的学生的情况.
select * from Student where Sname like '刘%'

--查询既选修1号课程,又选修2号课程的学生学号.
select Sno from SC where Cno='001' and Cno='002'
select sno from SC where Cno='001' and Sno in (select Sno from SC where Cno='002')
select sno from SC where Cno='001' intersect select Sno from SC where Cno='002'

--查询学生的姓名和出生年份(今年2008年)
select Sname,2008-Sage as 出生年份 from student

--查询没有成绩的学生学号和课程号。
select Sno,Cno from sc where grade is null

--查询总成绩大于200分的学生学号。
select Sno from sc group by sno having sum(grade)>200

--查询每门课程不及格学生人数。
select cno,count(sno) 不及格人数 from sc where grade<60 group by cno

--查询不及格课程超过3门的学生学号。
select Sno from sc where grade<60 group by sno having count(grade)>3

--查询年龄为10~19岁的学生信息。
select * from student where Sage between 10 and 19

--查询全体学生情况,按所在系升序排列,同一个系的学生按年龄降序排列。
select * from student order by sdept, sage desc

--查询选了1号课程的学生平均成绩。
select avg(grade) from sc where cno='001'

--查询选了3号课程的学生的最高分。
select max(grade) from sc where cno='003'

--查询每个同学的总成绩。
select sno,sum(grade) 总成绩 from sc group by sno

---实验五

--查询每个学生及其选课情况。
select student.*,sc.*,course.* from student,sc,course where student.sno=sc.sno and sc.cno=course.cno
--select * from sc,student,course

--查询每门课程的间接选修课。
select first.cno,second.cpno from course first,course second where first.cpno=second.cno;

--将STUDENT,SC进行右连接。
select * from student,sc
select student.*,sc.* from student right join sc on student.sno=sc.sno

--查询有不及格学生的姓名和所在系。
select Sname,Sdept from student,sc where grade<60 and student.sno=sc.sno

--查询所有成绩为优秀(大于90)的学生姓名。
select Sname from student where sno in (select sno from sc group by sno having min(grade)>90)and sno not in (select sno from sc where grade is null) --错误
select sname from student,sc where student.sno=sc.sno and student.sno not in(select sno from sc where grade is null) group by sname having min(grade)>=90

--查询既选修了2号课程又选修了3号课程的学生姓名、学号。
select distinct Sname,Sc.Sno from student,sc where student.sno=sc.sno and sc.sno in(select sno from sc where cno='002' and sno in (select sno from sc where cno='003'))

--查询和刘晨同一年龄的学生。
select Sno,sname from student where sage=(select sage from student where sname='刘晨')

--选修了课程名为“数据库”的学生姓名和年龄。
select Sname,Sage from student where sno in(select sno from sc where cno=(select cno from course where cname='数据库'))

--查询其他系比IS系任一学生年龄小的学生名单。
select sname from student where sdept!='is'and sage<(select max(sage) from student where sdept='is')

--查询其他系中比IS系所有学生年龄都小的学生名单。
select Sname from student where sdept!='is' and sage<(select min(sage) from student where sdept='is')

--查询选修了全部课程的学生姓名.
select sname from student where not exists(select * from course where not exists(select * from sc where sno=student.sno and cno=course.cno)) --正确

--查询计算机系学生及其性别是男的学生.
select * from student where sdept='is' or ssex='男'

--查询选修课程1的学生集合和选修2号课程学生集合的差集。
select sc.sno from student,sc where student.sno=sc.sno and cno='001'
except
select sc.sno from student,sc where student.sno=sc.sno and cno='002'
--或者
select sno from sc where cno='001' and sno not in (select sno from sc where cno='002')

--查询李丽同学不学的课程的课程号.
select distinct cno from sc where cno not in (select cno from student,sc where sname='李丽'and student.sno=sc.sno)

--查询选修了3号课程的学生平均年龄.
select avg(sage) from student where sno in(select sno from sc where cno='003')

--求每门课程学生的平均成绩.
select cno,avg(grade) from sc group by cno

--统计每门课程的学生选修人数(超过3人的人统计)。要求输出课程号和选修人数,结果按人数降序排列,若人数相同,按课程号升序排列。

--查询学号比刘晨大,而年龄比他小的学生姓名。
select sname from student where sno>(select sno from student where sname='刘晨')and sage<(select sage from student where sname='刘晨')

--求年龄大于女同学平均年龄的男同学的姓名和年龄。
select sname,sage from student where sage>(select avg(sage) from student where ssex='女')and ssex='男'

--求年龄大于所有女同学年龄的男同学姓名和年龄。
select sname,sage from student where sage>(select max(sage) from student where ssex='女')and ssex='男'

--查询至少选修了08002选修的全部课程的学生号码。
--select cno from sc where sno='08002'
--select sno from sc where cno IN (select cno from sc where sno='08002')
--select * from sc A,sc B where A.SNO=B.SNO
--select * from (select distinct* from sc A,sc B where A.SNO=B.SNO)as e
select distinct sno from sc sc1 where not exists (select * from sc sc2 where sc2.sno='08002' and not exists (select * from sc sc3 where sc3.sno=sc1.sno and sc3.cno=sc2.cno))
--查询08001和08002两个学生都选修的课程的信息。
select course.* from course,sc where sno='08001' and course.cno=sc.cno intersect select course.* from course,sc where sno='08002' and course.cno=sc.cno
--查询跟'08001'同学同姓的学生信息
select * from student where sname like(select left(sname,1) from student where sno='08001')+'%'

㈤ 有大神知道SQLserver的教学视频(网址)吗有好一点的老师教的,比如郝斌的C语言,SQL谁的视频比较好呢

这个吧。http://www.xin3721.com/eschool/SQLxin3721/
一个培训机构的,感觉基本还能够满足你的要求。不过学习最好的方法是练习,不懂的直接上:
http://www.w3school.com.cn/sql/index.asp
这里有很多基本语句的介绍,还有函数的说明,例子,练习等。希望对你有帮助。

㈥ 如何实现sqlserver单步调试

1、将服务器【身份验证】属性设置成【混合模式】(window与sql身份验证) 2、在【控制面板】中打开【服务】将【MSSQLSERVER】服务打开【属性】,选择【登录】页面,将登录身份设置成服务器本地帐号和该帐号密码,如administrator,密码123; 3、重新启动sqlserver服务,此时的服务指的是【SQL服务管理器】中的SQL Server服务; 假设【帐号】设置为administrator 此时达到的效果是:服务器本地帐号administrator与客户端上的administrator(并且该帐号的密码要与服务器密码相同)可以通过【查询分析器】进行调试; 如果想让【其他帐号】也能够调试,那么还需要如下设置: 1、在【服务器】上运行dcomcnfg.exe; 2、在【默认安全机制】中【默认访问权限】右边点击【编辑默认值】选择允许调试的帐号类型,如users用户类型,sample帐号有包含users组; 3、重新启动sqlserver服务; 4、在客户端上创建与服务帐号密码一样的用户,如sample; 做到这步就可以通过查询分析器的调试功能进行单步调试了。 注:第二步更改“启动服务帐户”,在第一次登录之前,必须更改用户密码。 不然,event log:以当前密码登录的尝试因下列错误将宣告失败: 在第一次登录之前,必须更改用户密码。

㈦ 用c#语言,sqlserver数据库,写一个用户登录系统。最好是详细教程。

先判断你要注册的用户是不是存在,如果存在就不能注册,如果不存在则进行写入动作。

下面是我写的,你可以进行参考。

protectedvoidButton1_Click(objectsender,EventArgse)
{
using(TransactionScopets=newTransactionScope())//如果发生错误则数据库回滚
{
try
{
if(txtuser.Text==""||txtname.Text=="")
{
PublicFun.PublicFunction.showMsg(this,"请输入工号,或姓名");
return;
}
if(txtpass.Text==""||txtpass2.Text=="")
{
PublicFun.PublicFunction.showMsg(this,"密码不能为空");
return;
}
if(txtemail.Text=="")
{
PublicFun.PublicFunction.showMsg(this,"邮件不能为空");
return;
}
if(txtpass.Text!=txtpass2.Text)
{
PublicFun.PublicFunction.showMsg(this,"两次输入的密码补符,请检查");
return;
}
stringceconstr=PublicFun.PublicFunction.GetDBconstr("ce_manage_db");
stringsql="select*fromaccount_user_twhereuserid='"+txtuser.Text.Trim()+"'";
ds=MySqlHelper.ExecuteDataset(ceconstr,sql);
if(ds.Tables[0].Rows.Count==0)
{

sql="insertintoaccount_user_t_new(Userid,Password,Username,DeptName,UserDuty,Email,Tel,Ext,createdate,flag)"+
"values('"+txtuser.Text.Trim()+"','"+txtpass.Text.Trim()+"','"+txtname.Text.Trim()+"','"+dpDept.SelectedItem.ToString()+"','"+dpJob.SelectedItem.ToString()+"',"+
"'"+txtemail.Text.Trim()+"','"+txttel.Text.Trim()+"','"+txtext.Text.Trim()+"',now(),'Y')";
MySqlHelper.ExecuteNonQuery(PublicFun.PublicFunction.GetDBconstr("ce_manage_db"),sql);
PublicFun.PublicFunction.showMsg(this,"注册成功,等待主管审核");

}
else
{
PublicFun.PublicFunction.showMsg(this,"此工号:"+txtuser.Text.Trim()+"已经存在");
return;
}
}
catch(Exceptionex)
{
PublicFun.PublicFunction.showMsg(this,ex.Message);
}
ts.Complete();//如果发生错误则数据库回滚
}
txtuser.Text="";
txtname.Text="";

}

㈧ sqlserver怎么使用脚本

楼主,登录数据库管理器啊,不管是企业管理器还是Microsoft SQL Server Management Studio,完了双击打开脚本,选择某一数据库后执行即可。

(*^__^*) 嘻嘻……

㈨ 谁有sqlserver数据库的视频教程我要全集的

select*fromtables;