The JOIN operation/zh

http://sqlzoo.net/wiki/The_JOIN_operation/zh


Game (id , mdate ,stadium , team1 , team2)

Goal (matched ,teamid , player , gtime )

Eteam ( id ,teamname , coach )



1、第一個(gè)例子列出球員姓氏為'Bender'的入球數(shù)據(jù)匀借。 * 表示列出表格的全部欄位术幔,簡化了寫matchid, teamid, player,

gtime語句绘雁。修改此SQL以列出 賽事編號matchid 和球員名 player ,該球員代表德國隊(duì)Germany入球的。要找出德國隊(duì)球員若债,要檢查: teamid = 'GER'


Select matchid,player from goal

Where teamid = 'GER'


2.由以上查詢,你可見Lars Bender's 於賽事 1012入球。.現(xiàn)在我們想知道此賽事的對賽隊(duì)伍是哪一隊(duì)劲装。留意在 goal 表格中的欄位 matchid ,是對應(yīng)表格game的欄位id昌简。我們可以在表格game中找出賽事1012的資料占业。只顯示賽事1012的id, stadium, team1, team2


Select id,stadium,team1,team2 from game

Where id=1012


3.我們可以利用JOIN來同時(shí)進(jìn)行以上兩個(gè)步驟。

SELECT *

? FROM game JOINgoal ON (id=matchid)

語句FROM 表示合拼兩個(gè)表格game 和 goal的數(shù)據(jù)纯赎。語句 ON表示如何找出 game中每一列應(yīng)該配對goal中的哪一列 -- goal的 id 必須配對game的 matchid 谦疾。 簡單來說,就是ON (game.id=goal.matchid)犬金。


以下SQL列出每個(gè)入球的球員(來自goal表格)和場館名(來自game表格)念恍,修改它來顯示每一個(gè)德國入球的球員名,隊(duì)伍名晚顷,場館和日期峰伙。


解題:原題要求顯示出每一個(gè)德國入球的球員名、隊(duì)伍名该默、場館和日期瞳氓。


Select goal.player,goal.teamid,game.stadium,game.mdate

From game joingoal

On goal.matchid =game.id? and goal.teamid='GER'

或者

SELECTplayer,goal.teamid,stadium,mdate?

? FROM game JOIN goal

ONgoal.matchid=game.id and goal.teamid = 'GER'



4.使用上題相同的 JOIN語句,列出球員名字叫Mario (player LIKE 'Mario%')有入球的隊(duì)伍1 team1, 隊(duì)伍2 team2 和 球員名player


Select game.team1, game .team2,goal.player

From game joingoal

On goal.playerlike 'Mario%'AND game.id=goal.matchid



5.表格eteam 貯存了每一國家隊(duì)的資料,包括教練栓袖。你可以使用語句 goal JOIN eteam on teamid=id來合拼 JOIN 表格goal 到 表格eteam匣摘。列出每場球賽中首10分鐘gtime<=10有入球的球員 player, 隊(duì)伍teamid, 教練coach, 入球時(shí)間gtime店诗。


Selectgoal.player,goal.teamid,eteam.coach,goal.gtime

From goal joineteam

Oneteam.id=goal.teamid and goal.gtime<=10


6.列出'Fernando Santos'作為隊(duì)伍1 team1 的教練的賽事日期,和隊(duì)伍名音榜。


Select game.mdate,eteam.teamname

From game joineteam

On coach='Fernando

Santos'and eteam.id=team1



7庞瘸、列出場館 'National Stadium, Warsaw'的入球球員。

Select player

From game join goal

On stadium='National Stadium, Warsaw' and game.id=matched



8.以下例子找出德國-希臘Germany-Greece的八強(qiáng)賽事的入球

修改它囊咏,只列出全部賽事恕洲,射入德國龍門的球員名字。


Select distinct(player),matchid

from goal joingame

On matchid =game.id and teamid!='GER'and (team1='GER' or team2='GER')


說明:求射入德國球門的球員名字梅割,則參賽兩隊(duì)必然有一方為“德國”霜第,其次射入德國球門的球員必然不是“德國”對的,應(yīng)該是“德國”隊(duì)的對手户辞,所以入球球員的隊(duì)伍編號不能為“德國”“GER”泌类,所以必須加上條件 teamid!=“GER”


9.列出隊(duì)伍名稱 teamname 和該隊(duì)入球總數(shù)


SELECTteamname,count(player)

From eteam leftjoin goal

On eteam.id=teamid

Group by teamname


10.列出場館名和在該場館的入球數(shù)字底燎。


Selectstadium,count(player)

From game leftjoin goal

On game.id=matchid

Group by stadium



11.每一場波蘭'POL'有參與的賽事中刃榨,列出賽事編號 matchid, 日期date 和入球數(shù)字。

Selectmatchid,mdate,count(PLAYER)

From game joingoal

On matchid=game.idand (team1='pol'or team2='pol')

Group bymatchid,MDATE


說明:根據(jù)原題双仍,但凡有波蘭參加的比賽枢希,列出賽事編號、日期和入球次數(shù)朱沃,注意此處入球方可以不是波蘭隊(duì)自己苞轿。



12.每一場德國'GER'有參與的賽事中,列出賽事編號 matchid, 日期date 和德國的入球數(shù)字逗物。

selectmatchid,mdate,count(teamid)

FROM game innerjoin goal

ongame.id=goal.matchid and(team1='ger'or team2='ger') and teamid='GER'

group bymatchid,mdate

說明:原題要求列出的是德國的入球次數(shù)搬卒,所以此處必須添加條件teamid=’ger’

13.疑問待解

Listevery match with the goals scored by each team as shown. This will use"CASE WHEN" which has not been explained in any previous exercises.

mdate?? team1?? score1?? team2?? score2

1 July2012? ESP 4???? ITA? 0

10 June2012????? ESP 1???? ITA? 1

10 June2012????? IRL? 1???? CRO????? 3

...

Noticein the query given every goal is listed. If it was a team1 goal then a 1appears in score1, otherwise there is a 0. You could SUM this column to get acount of the goals scored by team1. Sort your result by mdate, matchid, team1and team2.


?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市翎卓,隨后出現(xiàn)的幾起案子契邀,更是在濱河造成了極大的恐慌,老刑警劉巖失暴,帶你破解...
    沈念sama閱讀 211,884評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件坯门,死亡現(xiàn)場離奇詭異,居然都是意外死亡逗扒,警方通過查閱死者的電腦和手機(jī)田盈,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,347評論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來缴阎,“玉大人,你說我怎么就攤上這事简软÷危” “怎么了述暂?”我有些...
    開封第一講書人閱讀 157,435評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長建炫。 經(jīng)常有香客問我畦韭,道長,這世上最難降的妖魔是什么肛跌? 我笑而不...
    開封第一講書人閱讀 56,509評論 1 284
  • 正文 為了忘掉前任艺配,我火速辦了婚禮,結(jié)果婚禮上衍慎,老公的妹妹穿的比我還像新娘转唉。我一直安慰自己,他們只是感情好稳捆,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,611評論 6 386
  • 文/花漫 我一把揭開白布赠法。 她就那樣靜靜地躺著,像睡著了一般乔夯。 火紅的嫁衣襯著肌膚如雪砖织。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,837評論 1 290
  • 那天末荐,我揣著相機(jī)與錄音侧纯,去河邊找鬼。 笑死甲脏,一個(gè)胖子當(dāng)著我的面吹牛眶熬,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播剃幌,決...
    沈念sama閱讀 38,987評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼聋涨,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了负乡?” 一聲冷哼從身側(cè)響起牍白,我...
    開封第一講書人閱讀 37,730評論 0 267
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎抖棘,沒想到半個(gè)月后茂腥,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,194評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡切省,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,525評論 2 327
  • 正文 我和宋清朗相戀三年最岗,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片朝捆。...
    茶點(diǎn)故事閱讀 38,664評論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡般渡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情驯用,我是刑警寧澤脸秽,帶...
    沈念sama閱讀 34,334評論 4 330
  • 正文 年R本政府宣布,位于F島的核電站蝴乔,受9級特大地震影響记餐,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜薇正,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,944評論 3 313
  • 文/蒙蒙 一片酝、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧挖腰,春花似錦雕沿、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,764評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至宁脊,卻和暖如春断国,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背榆苞。 一陣腳步聲響...
    開封第一講書人閱讀 31,997評論 1 266
  • 我被黑心中介騙來泰國打工稳衬, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人坐漏。 一個(gè)月前我還...
    沈念sama閱讀 46,389評論 2 360
  • 正文 我出身青樓薄疚,卻偏偏與公主長得像,于是被迫代替她去往敵國和親赊琳。 傳聞我的和親對象是個(gè)殘疾皇子街夭,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,554評論 2 349

推薦閱讀更多精彩內(nèi)容

  • The Inner Game of Tennis W Timothy Gallwey Jonathan Cape ...
    網(wǎng)事_79a3閱讀 11,954評論 3 20
  • 自己最普通,但自己可以不同躏筏,這個(gè)社會需要的是什么板丽,我還不知道,但學(xué)習(xí)的能力你必須有趁尼,這是你獲得技能的關(guān)鍵所在埃碱,態(tài)度...
    庫昊已用閱讀 154評論 0 0
  • 方向很重要,認(rèn)準(zhǔn)了就努力前行吧酥泞,每一天都是生命中最年輕的時(shí)刻砚殿,堅(jiān)持走就一定會到達(dá)遠(yuǎn)方。
    花汀閱讀 207評論 0 0
  • 夏目漱石的貓 蜷縮在我的腳下 聽他講著故事 我開始有些奇怪 我怎么突然間能聽懂貓的語言 當(dāng)我聽到精彩的地方 我情不...
    利君理療閱讀 279評論 0 0
  • 倉央嘉措問佛“世間為什么有那么多遺憾芝囤?” 佛曰:婆娑即遺憾似炎。 日子總過的那么快辛萍,陰雨的冬季也是快速的掠了一下大地就...
    上山當(dāng)和尚閱讀 1,459評論 0 1