MySQL--多表設(shè)計

一對多

  • 在多的一方設(shè)置外鍵, 來建立兩張表的聯(lián)系

一對一

  • 看成特殊的一對多, 在任意一張表中設(shè)置外鍵

多對多

  • 建立中間表, 同時設(shè)置兩張表的外鍵
注意
  1. 外鍵一般設(shè)置邏輯外鍵, 不再采用物理外鍵, 方便數(shù)據(jù)的處理
  2. 以上多對多, 一對多, 一對一都只是兩張表之間的聯(lián)系, 表示的是各表中數(shù)據(jù)的對應(yīng), 而不是表的數(shù)量

多表查詢

  • 在單表查詢的基礎(chǔ)上, 直接在加上另一張表即可
select * from tb_emp,tb_dept;
//直接這寫會得到所有笛卡爾積的數(shù)據(jù), 會有很多不符合要求的數(shù)據(jù)產(chǎn)生
//所以一般我們要加上查詢條件, 去掉不需要的數(shù)據(jù)
select * from tb_emp,tb_dept where tb_emp.dept_id = tb_dept.id;

多表查詢-連接查詢

內(nèi)連接

  • 顯式內(nèi)連接的inner可以省略
  • on后面跟連接條件, where后面跟查詢條件
    eg:
//隱式內(nèi)連接
select tb_emp.name '姓名',tb_dept.name '部門名稱' from tb_emp,tb_dept where tb_emp.dept_id = tb_dept.id;
//顯式內(nèi)連接
select tb_emp.name '姓名',tb_dept.name '部門名稱' from tb_emp inner join tb_dept on tb_emp.dept_id = tb_dept.id;

外連接

  • outer可以省略
    eg:
//左外連接
//左外連接將返回左表中的所有記錄烈疚,同時返回與右表匹配的記錄留瞳。如果右表中沒有匹配的記錄,則將返回NULL。
select tb_emp.name '姓名',tb_dept.name '部門名稱' from tb_emp left join tb_dept on tb_emp.dept_id = tb_dept.id;
//右外連接
//右外連接將返回右表中的所有記錄,同時返回與左表匹配的記錄。如果左表中沒有匹配的記錄,則將返回NULL彩匕。
select tb_emp.name '姓名',tb_dept.name '部門名稱' from tb_emp right join tb_dept on tb_emp.dept_id = tb_dept.id;

子查詢


eg:

//標(biāo)量子查詢
select name from tb_emp where dept_id = (select id from tb_dept where name = '教研部');
select * from tb_emp where entrydate > (select entrydate from tb_emp where name = '方東白');
//列子查詢
//返回結(jié)果一列多行
select * from tb_emp where dept_id in(select id from tb_dept where name in('教研部','咨詢部'));
//行子查詢
//返回結(jié)果一行多列
select * from tb_emp where (entrydate,job) = (select entrydate,job from tb_emp where name = '韋一笑');
//表子查詢
//返回結(jié)果多行多列,子表
select e.*,tb_dept.name from (select * from tb_emp where entrydate > '2006-01-01') e, tb_dept where e.dept_id = tb_dept.id;
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末漠烧,一起剝皮案震驚了整個濱河市杏愤,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌已脓,老刑警劉巖珊楼,帶你破解...
    沈念sama閱讀 218,525評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異度液,居然都是意外死亡厕宗,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,203評論 3 395
  • 文/潘曉璐 我一進(jìn)店門堕担,熙熙樓的掌柜王于貴愁眉苦臉地迎上來已慢,“玉大人,你說我怎么就攤上這事霹购∮踊荩” “怎么了?”我有些...
    開封第一講書人閱讀 164,862評論 0 354
  • 文/不壞的土叔 我叫張陵齐疙,是天一觀的道長膜楷。 經(jīng)常有香客問我,道長贞奋,這世上最難降的妖魔是什么赌厅? 我笑而不...
    開封第一講書人閱讀 58,728評論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮轿塔,結(jié)果婚禮上特愿,老公的妹妹穿的比我還像新娘。我一直安慰自己勾缭,他們只是感情好揍障,可當(dāng)我...
    茶點故事閱讀 67,743評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著俩由,像睡著了一般亚兄。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上采驻,一...
    開封第一講書人閱讀 51,590評論 1 305
  • 那天,我揣著相機(jī)與錄音匈勋,去河邊找鬼礼旅。 笑死,一個胖子當(dāng)著我的面吹牛洽洁,可吹牛的內(nèi)容都是我干的痘系。 我是一名探鬼主播,決...
    沈念sama閱讀 40,330評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼饿自,長吁一口氣:“原來是場噩夢啊……” “哼汰翠!你這毒婦竟也來了龄坪?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,244評論 0 276
  • 序言:老撾萬榮一對情侶失蹤复唤,失蹤者是張志新(化名)和其女友劉穎健田,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體佛纫,經(jīng)...
    沈念sama閱讀 45,693評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡妓局,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,885評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了呈宇。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片好爬。...
    茶點故事閱讀 40,001評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖甥啄,靈堂內(nèi)的尸體忽然破棺而出存炮,到底是詐尸還是另有隱情,我是刑警寧澤蜈漓,帶...
    沈念sama閱讀 35,723評論 5 346
  • 正文 年R本政府宣布穆桂,位于F島的核電站,受9級特大地震影響迎变,放射性物質(zhì)發(fā)生泄漏充尉。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,343評論 3 330
  • 文/蒙蒙 一衣形、第九天 我趴在偏房一處隱蔽的房頂上張望驼侠。 院中可真熱鬧,春花似錦谆吴、人聲如沸倒源。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,919評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽笋熬。三九已至,卻和暖如春腻菇,著一層夾襖步出監(jiān)牢的瞬間胳螟,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,042評論 1 270
  • 我被黑心中介騙來泰國打工筹吐, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留糖耸,地道東北人。 一個月前我還...
    沈念sama閱讀 48,191評論 3 370
  • 正文 我出身青樓丘薛,卻偏偏與公主長得像嘉竟,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,955評論 2 355

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

  • MySQL的多表操作 1 多表關(guān)系 MySQL多表之間的關(guān)系可以概括為:一對一舍扰、一對多/多對一關(guān)系倦蚪,多對多 1.1...
    AdRainty閱讀 217評論 0 1
  • 目錄 ? 多表關(guān)系 項目開發(fā)中,在進(jìn)行數(shù)據(jù)庫表結(jié)構(gòu)設(shè)計時边苹,會根據(jù)業(yè)務(wù)需求及業(yè)務(wù)模塊之間的關(guān)系陵且,分析并設(shè)計表結(jié)構(gòu),由...
    java的小粉絲閱讀 326評論 0 0
  • 一勾给、表的關(guān)系分析: 用戶和訂單:一個用戶可以有多個訂單滩报,但每個訂單只能屬于一個用戶,所以是一對多的關(guān)系播急。商品和分類...
    zengsiyong閱讀 7,254評論 0 10
  • 上篇文章我們學(xué)習(xí)了MySQL基礎(chǔ)——約束脓钾,這篇文章我們學(xué)習(xí)MySQL基礎(chǔ)——多表查詢。 多表關(guān)系 在數(shù)據(jù)表中桩警,各個...
    白巧克力LIN閱讀 353評論 0 2
  • 1 外鍵約束 表是用來保存實際生活中的數(shù)據(jù)的可训,而現(xiàn)實生活中數(shù)據(jù)和數(shù)據(jù)之間往往具有一定的關(guān)系,我們在使用表來存儲數(shù)據(jù)...
    對易_ce65閱讀 449評論 0 0