A. 用sql語言查詢住在1號樓1層偶數房間的學生名單及宿舍號
看房間號的類型?
如果是字元串:
select sname,ssh from student
where ssh in ('110', '112', '114', '116', '118')
如果是數組,我覺得你寫的挺好了,mod -> %
B. 誰能給我一些SQL的試題給我
(一)現有關系資料庫如下:
資料庫名:我班同學資料庫
同學表(學號 char(6),姓名,性別,年齡,民族,身份證號,宿舍號)
宿舍表(宿舍號 char(6),宿舍電話)
用SQL語言實現下列功能的sql語句代碼:
1.創建資料庫[我班同學資料庫]代碼。
2.創建數據表[宿舍表]代碼;
宿舍表(宿舍號 char(6),宿舍電話)
要求使用:主鍵(宿舍號)、宿舍電話:以633開頭的7位電話號碼
3.創建數據表[同學表]代碼;
同學表(學號 char(6),姓名,性別,年齡,民族,身份證號,宿舍號)
要求使用:主鍵(學號)、外鍵(宿舍號)、默認(民族)、非空(民族,姓名,年齡)、唯一(身份證號)、檢查(性別)
4.將下列宿舍信息添加到宿舍表的代碼
宿舍號 宿舍電話
101 6331157
102 6331777
修改 宿舍號為101的 宿舍電話:6331158
刪除 宿舍號為102的 宿舍信息
5.創建視圖[同學表視圖]代碼;
同學表視圖(學號, 姓名, 性別, 年齡, 民族, 身份證號, 宿舍號, 宿舍電話)
6.從同學表視圖中查詢姓張的女同學的姓名、性別、宿舍電話。
7.從同學表中查詢女同學的最大年齡、最小年齡、平均年齡。
8.創建帶參數的存儲過程[某宿舍同學]:姓名, 性別, 宿舍電話
執行此過程,查詢'101'宿舍情況
(二) 現有關系資料庫如下:
資料庫名:學生成績資料庫
學生表(學號 char(6),姓名,性別,民族,身份證號)
課程表(課號 char(6),名稱)
成績表(ID,學號,課號,分數)
用SQL語言實現下列功能的sql語句代碼:
1.創建資料庫[學生成績資料庫]代碼 ;
2.創建[課程表]代碼 ;
課程表(課號 char(6),名稱)
要求使用:主鍵(課號)、非空(名稱)
3. 創建[學生表]代碼 ;
學生表(學號 char(6),姓名,性別,民族,身份證號)
要求使用:主鍵(學號)、默認(民族)、非空(民族,姓名)、唯一(身份證號)、檢查(性別)
4. 創建[成績表]代碼 ;
成績表(ID,學號,課號,分數)
要求使用:主鍵(課號)、外鍵(成績表.學號,成績表.課號)、檢查(分數),自動編號(ID)
5. 將下列課程信息添加到課程表的代碼
課號 課程名稱
100001 大學語文
100002 大學英語
100003 西班牙語
修改 課號為100002的課程名稱:實用英語
刪除 課號為100003的課程信息
6. 寫出創建:成績表視圖(學號,姓名,課號,課程名稱,分數)的代碼;
8. 寫出創建:某門課程高低均分 計算某門課程成績最高分、最低分、平均分 存儲過程以及執行的代碼;
執行:所有修 實用英語 這門學生的最高分、最低分、平均分;
9. 檢索姓李的女同學的情況:姓名、性別、民族。
10.檢索有一門或一門以上課程成績大於等於90分的所有學生的信息,包括學號、姓名。
(三)有一個[學生課程]資料庫,資料庫中包括三個表:
學生表Student由學號(Sno)、姓名(Sname)、性別(Ssex)、年齡(Sage)、所在系(Sdept)五個屬性組成,記為: Student(Sno,Sname,Ssex,Sage,Sdept) ,Sno 為關鍵字。
課程表Course由課程號(Cno)、課程名(Cname)、先修課號(Cpno)、學分(Ccredit)四個屬性組成,記為:Course(Cno,Cname,Cpno,Ccredit) Cno為關鍵字。
成績表SG由學號(Sno)、課程號(Cno)、成績(Grade)三個屬性組成,記為:SG(Sno Cno, Grade) (SNO, CNO)為關鍵字。
用SQL語言實現下列功能:
1.建立學生表Student,其中學號屬性不能為空,並且其值是唯一的。
2.向Student表增加「入學時間(Scome)」列,其數據類型為日期型。
3.查詢選修了3號課程的學生的學號及其成績,查詢結果按分數的降序排列。
4.查詢學習1號課程的學生最高分數、平均成績。
5.查詢與「李洋」在同一個系學習的學生。
6.將計算機系全體學生的成績置零。
C. 再次求解資料庫的sql語句問題,這是兩張表的關聯問題,有點小難度的。
select
s.sDNum,
isnull(sum(d.stuNum),0)stds, --計算每個宿的入住生數
s.spuwei - isnull(sum(d.stuNum),0) freeNum --余床位
from sushe s
left join student d on s.sLNum=d.stuDNum --聯表條件:宿舍號
group by s.sDNum,s.spuwei --分類欄位,spuwei放在這里是為了做減法時要用到。
---------------------
你的空鋪鋪位的分配,是從1-4順序發放,還是可以讓學生自行挑選?
如果你要統計具體到某個鋪位,而又不想在資料庫生成鋪位表,那就需要在學生分配表裡加一個欄位[鋪位].
你在查詢的時候,就需要臨時的生成一張表,實際是一個1-4的序列,讓它與宿舍表先聯接,這樣你的查詢主表就變成宿舍_鋪位表(或以考慮用視圖),然後與學生分配表關聯時on的條件加上鋪位=鋪位,最後如果是統計,與上面的代碼邏輯一致,如果是要查鋪位情況,同樣聯表查詢就行了,只是少了分類匯總,改為在查詢中添加相應的條件.
D. 求幫解這幾道SQL的題
1.創建數據表[宿舍表]代碼;
宿舍表(宿舍號char(6),宿舍電話)
要求使用:主鍵(宿舍號)、宿舍電話:以633開頭的7位電話號碼
createtable宿舍表
(宿舍號char(6)primarykey,
宿舍電話varchar(7)check(宿舍電話like'633%'))
2.將下列宿舍信息添加到宿舍表的代碼
宿舍號宿舍電話
1016331157
1026331777
insertinto宿舍表values('101','6331157')
insertinto宿舍表values('102','6331777')
修改宿舍號為101的宿舍電話:6331158
update宿舍表set宿舍電話='6331158'wherertrim(宿舍號)='101'
刪除宿舍號為102的宿舍信息
deletefrom宿舍表wherertrim(宿舍號)='102'
3.創建視圖[同學表視圖]代碼;
同學表視圖(學號,姓名,性別,年齡,民族,身份證號,宿舍號,宿舍電話)
createview同學表視圖
as
select同學表.學號,同學表.姓名,同學表.性別,同學表.年齡,同學表.民族,同學表.身份證號,同學表.宿舍號,同學表.宿舍電話
from同學表,宿舍表where同學表.宿舍號=宿舍表.宿舍號
4.從同學表視圖中查詢姓張的女同學的姓名、性別、宿舍電話。
select姓名,性別,宿舍電話
from同學表視圖where姓名like'張%'and性別='女'
5.從同學表中查詢女同學的最大年齡、最小年齡、平均年齡。
selectmax(年齡)as最大年齡,min(年齡)as最小年齡,avg(年齡)as平均年齡
from同學表where性別='女'
少年,這個其實沒什麼太難的,多看看書就會,希望你能順利通過考試
E. sql中的換宿舍用什麼方法寫比較好
單純的用replace()不行抄的,我這有個辦法,如果樓襲主這個欄位的形式比較固定,比如:
都是XXX-123456789-123就是相同的位都是"-",那麼可以這樣寫SQL語句:
update table_name set fields = substring(fields,1,4)+relace(substring(fields,5,len(fields)),'-','***')
這樣就可以只替換後面的"-"符號了。
F. 拜求高手速答
我來做 五、查詢分析題
1.select 課程號,課程名稱 from 課程表
where 教師姓名='李老師';
2.select 學號,姓名 from 學生表
where 年齡>23 and 性別='女';
3.select * from 學生表,選課表
where 學生表.學號=選課表.學號 and 姓名='李小波';
G. 用SQL語句修改學生表的學號列在學號前加兩位「19」在第四位後加入二位「00」
如果不多的話就直接修改
要更新就
update table set id='19'+substring(id,1,4)+'00'+substring(id,5,3)
H. 關於sql語句如何批量修改數據。
update A表
set 學生年紀 = 『4』
where 學生號 between 1 and 5
or 學生號 between 7 and 11;
純手打,求給分
I. sql語句怎麼寫
假定:
班級表 A 欄位 ClassID ClassNumber
寢室表 B 欄位 RoomID RoomNumber ClassID Score
分2步。
第一步,找到寢室衛生得分為差的班級
select distinct A.ClassNumber --distinct 用來去掉重復的數據
from B
left join A on B.ClassID = A.ClassID
where B.Score = '差'
第二步,找到不在以上班級之內的其他班級
select ClassNumber
from A
where ClassID not in (
select distinct A.ClassNumber --distinct 用來去掉重復的數據
from B
left join A on B.ClassID = A.ClassID
where B.Score = '差'
)
看懂了哇?
J. 用sql語言 查詢沒有住滿的學生宿舍號顯示出來
--假設人數4個住滿,你只需要將下面語句中的4改成你們宿舍住滿數就是了
(sno)<4
--最後樓上的2位,根本不需要宿舍表就可以了,還要浪費資源做表連接