表結構設計為
輪數 對陣一隊 對陣二隊 終輪標志 勝隊
1 德國 阿根廷 0 德國
1 義大利 烏克蘭 0 義大利
2 德國 義大利 0 德國
。。。
這樣記錄即可
需要取數時,按照輪數取,主鍵為輪數+對陣一隊+對陣二隊
(當小組賽沒有對手直接晉級時,可指定一個對陣二隊為N/A)
㈡ 紅亞e中的sql注入比賽怎麼做
方法1先猜表名 And (Select count(*) from 表名)<>0 猜列名 And (Select count(列名) from 表名)<>0 或者也可以這樣 and exists (select * from 表名) and exists (select 列名 from 表名) 返回正確的,那麼寫的表名或列名就是正確 這里要注意的是,exists這個不能應用於猜內容上,例如and exists (select len(user) from admin)>3 這樣是不行的 現在很多人都是喜歡查詢裡面的內容,一旦iis沒有關閉錯誤提示的,那麼就可以利用報錯方法輕松獲得庫裡面的內容 獲得資料庫連接用戶名:;and user>0 這個是小竹提出來的,我這里引用《SQL注入天書》裡面的一段話來講解: ---------------------------------------------"重點在and user>0,我們知道,user是SQLServer的一個內置變數,它的值是當前連接的用戶名,類型為nvarchar。拿一個 nvarchar的值跟int的數0比較,系統會先試圖將nvarchar的值轉成int型,當然,轉的過程中肯定會出錯,SQLServer的出錯提示是:將nvarch" ---------------------------------------------看到這里大家明白了吧,報錯的原理就是利用SQLserver內置的系統表進行轉換查詢,轉換過程會出錯,然後就會顯示出在網頁上,另外還有類似的and 1=(selet top 1 user from admin),這種語句也是可以爆出來的。;and db_name()>0 則是暴資料庫名。 一旦關閉了IIS報錯,那麼還可以用union(聯合查詢)來查內容,主要語句就是 Order by 10 And 1=2 union select 1,2,3,4,5,6,7,8,9,10 from admin And 1=2 union select 1,2,3,user,5,passwd,7,8,9,10 from admin
㈢ sql 10個不同姓名的人要選5個人參賽,共有252種組合,我需要組合姓名清單,謝謝!
SQL Server資料庫的話,可以這樣做:
1) 建立一個函數,返回5個用戶名(主要是和查詢中distinct聯用來消除重復項)
createfunctionfv_01(@u1nvarchar(30),@u2nvarchar(30),@u3nvarchar(30),@u4nvarchar(30),@u5nvarchar(30))
returnsnvarchar(200)
as
begin
declare@snvarchar(200)
select@[email protected]@s+','+s.uend
from(
select@u1asuunionselect@u2unionselect@u3unionselect@u4unionselect@u5
)s
return@s
2) 執行查詢,返回不重復的5個用戶名
declare@tbtable(usernamenvarchar(10))--定義表變數,作為10個用戶名稱來源
insertinto@tb(username)
select'A'unionselect'B'unionselect'C'unionselect'D'unionselect'E'
unionselect'F'unionselect'G'unionselect'H'unionselect'I'unionselect'J'
selectdistinctdbo.fv_01(s1.username,s2.username,s3.username,s4.username,s5.username)asu
from@tbs1
[email protected](s1.username)
[email protected](s1.username,s2.username)
[email protected](s1.username,s2.username,s3.username)
[email protected](s1.username,s2.username,s3.username,s4.username)
查詢結果:
㈣ 一個只有 name的表 有name分別是 a b c d 四個球隊 任意兩個球隊打比賽 一共會有幾場比賽 用 sql語言表示
雙循環對陣場次:
select a.name,b.name from test3 a,test3 b where a.name<>b.name
雙循環比賽場數:
select count(*) from test3 a,test3 b where a.name<>b.name
單循環對陣場次:
select a.name,b.name from test3 a,test3 b where a.name<b.name
單循環比賽場數:
select count(*) from test3 a,test3 b where a.name<b.name
表名自己替換一下,我用的test3
歡迎追問
㈤ 求一條SQL語句,關於球隊積分的問題
select t3.id,t3.score,t4.name from (
select * from (
select t1.zhu_id id,t1.zhu_score+t2.ke_score score
from test t1,test t2
where t1.zhu_id=t2.ke_id order by score desc
)
where rownum <=2
) t3,team t4
where t4.id=t3.id
球隊表team 比賽表test
㈥ SQL 第16屆亞運會在廣州召開,請結合賽程表 的數據設計資料庫,並填充部分數據,完成賽事管理. 必須完成的
問題補充:
必須完成的部分:
1.實體設計,兩種途徑:在Word中畫出實體及其關系(可提交該WORD文件);或者生成表,即你設計的系統包含哪些表.請實現.(寫成SQL代碼,保存為SQL或文本文件)
2.在各表中填充數據,數據請參考賽程網頁內容,請填寫真實的亞運相關信息;(寫成SQL代碼,保存為SQL或文本文件,該內容選作)
3.分析實體間關系,完成以下查詢(該內容選作):
(1)中國男子籃球的比賽信息(預賽);
(2)女子10跳台預決賽信息;
(3)男子4x100米混合泳接力預決賽信息;
(4)佛山世紀蓮游泳跳水館的賽事信息;
(5)在天河游泳館有中國隊參加的賽事信息;
(6)查詢11月07日舉行的所有賽事。
(寫成SQL代碼,保存為SQL或文本文件)
㈦ sql資料庫編程,輸出比賽成績
創建表,插入數據
createtablet_scores
(datedate,
namevarchar(10),
scorevarchar(10))
insertintot_scoresvalues('2008-8-8','拜仁','勝')
insertintot_scoresvalues('2008-8-9','奇才','勝')
insertintot_scoresvalues('2008-8-9','湖人','勝')
insertintot_scoresvalues('2008-8-10','拜仁','負')
insertintot_scoresvalues('2008-8-8','拜仁','負')
insertintot_scoresvalues('2008-8-12','奇才','勝')
執行:
selectname,
cast(sum(casewhenscore='勝'then1else0end)asvarchar)+'勝'as勝,
cast(sum(casewhenscore='負'then1else0end)asvarchar)+'負'as負
fromt_scoresgroupbyname
結果:
㈧ 菜鳥的sql問題
如果不加where條件,則是表自己對自己進行全外連接查詢,結果為表中的每條數據進行比對:
aa,ab,ac,ad,ba,bb,bc,bd,ca,cb,cc,cd,da,db,dc,dd
但這里會有很多重復數據,而且兩個球不能相同,為了去掉這些內容(例如:ab和ba是一樣的只需要留一個)
加入了一個a.name < b.name的條件,這樣就只會保留第一個值比第二個值小的數據了
aa,ab,ac,ad中保留ab,ac,ad
ba,bb,bc,bd中保留bc,bd
這樣結果就是要的了
㈨ 寫四支球隊對陣表的sql語句
4個隊,應該是有6場比賽,每個球隊3場。
語句如下
select a.teamname,b.teamname
from team a , team b
where a.teamname>b.teamname
假設4支球隊分別是
中國
巴西
義大利
阿根廷
查詢結果為
中國 巴西
義大利 巴西
中國 義大利
中國 阿根廷
巴西 阿根廷
義大利 阿根廷
㈩ 查詢一組隊員兩場田徑比賽成績總和,具體sql語句怎麼寫
select memberName,sum(result) as 總成績
from match
where matchID = '1' or matchID = '2'
group by memberName
order by 總成績