當前位置:首頁 » 編程語言 » 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;