日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

MySQL不就是多表查詢嗎

瀏覽:199日期:2023-08-14 20:18:43
目錄前言一、多表關系1.概述1.1 一對一1.2 一對多(多對一) 1.3 多對多 二、多表查詢概述三、多表查詢分類3.1 連接查詢3.2 內(nèi)連接語法3.2.1隱式內(nèi)連接3.2.2 顯式內(nèi)連接3.3 內(nèi)連接練習3.3.1 查詢每一個員工的姓名,及關聯(lián)的部門的名稱(隱式內(nèi)連接實現(xiàn))3.3.2 查詢每一個員工的姓名,及關聯(lián)的部門的名稱(顯示內(nèi)連接實現(xiàn))3.4 外連接語法3.5 外連接練習3.5.1 查詢emp表的所有數(shù)據(jù),和對應部門信息(左外連接)3.5.2 查詢dept表的所有數(shù)據(jù),和對應的員工信息(右外連接)3.6 自連接語法3.7 聯(lián)合查詢 union,union all四、總結(jié) 前言

嗨!小伙伴們大家好呀,忙碌的一周就要開始!在此之前我們學習的MySQL數(shù)據(jù)庫的各種操作都是在一張表之中,今天我們學習要對多張表進行相關操作,相比較于單一的表來說,多張表操作相對復雜一些,我相信只要認真學習多表查詢也不再話下!

一、多表關系1.概述

項目開發(fā)中,在進行數(shù)據(jù)庫表結(jié)構設計時,會根據(jù)業(yè)務需求及業(yè)務模塊之間的關系,分析并設計表結(jié)構,由于業(yè)務之間相互關聯(lián),所以各個表結(jié)構之間也存在著各種聯(lián)系,基本上分為三種:

一對一(多對一)

一對多

多對多

1.1 一對一

案例: 用戶與 用戶詳情的關系關系:一對一關系,多用于單表拆分,將一張表的基礎字段放在一張表中,其他詳情字段放在另一張表中,以提升操作效率

實現(xiàn): 在任意一方加入外鍵,關聯(lián)另外一方的主鍵,并且設置外鍵為唯一的(UNIQUE)

1.1.1 創(chuàng)建用戶基本信息

create table tb_user( id int auto_increment comment '主鍵id'primary key, name varchar(10) null comment '姓名', age int null comment '年齡', gender charnull comment '年齡 1男 2女', phone char(11) null comment '手機號') comment '用戶基本信息表';

1.1.2 創(chuàng)建用戶教育信息表

create table tb_user_edu( id int auto_increment comment '主鍵id'primary key, degreevarchar(20) null comment '學歷', major varchar(50) null comment '專業(yè)', primaryschool varchar(50) null comment '小學', middleschool varchar(50) null comment '中學', university varchar(50) null comment '大學', useridint null comment '用戶id', constraint useridunique (userid), constraint fk_useridforeign key (userid) references tb_user (id)) comment '用戶教育信息表'; 1.2 一對多(多對一)

案例:部門與員工的關系 關系:一個部門對應多個員工,一個員工對應一個部門 實現(xiàn): 在多的一方建立外鍵,指向一的一方的主鍵

1.3 多對多

案例: 學生與 課程的關系關系:一個學生可以選修多門課程,一門課程也可以供多個學生選擇實現(xiàn): 建立第三張中間表,中間表至少包含兩個外鍵,分別關聯(lián)兩方主鍵

建立三張表的代碼如下

1.3.1 創(chuàng)建學生表且插入數(shù)據(jù)

create table student(id int auto_increment primary key comment'主鍵id',name varchar(10) comment'姓名',novar char(10) comment'學號') comment'學生表';insert into student values(null,'宋江','001'),(null,'魯智深','002'),(null,'李逵','001');

1.3.2 創(chuàng)建課程表且插入數(shù)據(jù)

create table course(id int auto_increment primary key comment '主鍵id',name varchar(10) comment'課程名稱') comment'課程表';insert into course values(null,'java'),(null,'js'),(null,'MySQL');

1.3.3 創(chuàng)建課程中間表且插入數(shù)據(jù)

create table student_course( idint auto_increment comment '主鍵'primary key, studentid int not null comment '學生id', courseid int not null comment '課程id', constraint f_kcourseidforeign key (courseid) references course (id), constraint f_kstudentidforeign key (studentid) references student (id)) comment '學生課程中間表';

二、多表查詢概述

概述: 指從多張表中查詢數(shù)據(jù),多表查詢就是要消除笛卡爾積。笛卡爾積: 笛卡爾乘積是指在數(shù)學中,兩個集合A集合和 B集合的所有組合情況。(在多表查詢時,需要消除無效的笛卡爾積)

創(chuàng)建兩張表:部門表、員工表

create table dept( id int auto_increment comment 'id'primary key, name varchar(50) not null comment '部門名稱') comment '部門表'; create table emp( id int auto_increment comment 'id'primary key, name varchar(50) not null comment '姓名', ageint null comment '年齡', jobvarchar(20) null comment '職位', salary int null comment '薪水', entrydate datenull comment '入職時間', mangagerid int null comment '直屬的領導id', dept_id int null comment '部門id', constraint dept_idforeign key (dept_id) references dept (id)) comment '員工表';

兩張表消除笛卡爾積的方法:emp.dept_id=dept.id

三、多表查詢分類3.1 連接查詢

內(nèi)連接:相當于查詢A、B交集部分數(shù)據(jù)。外連接: 左外連接:查詢左表所有數(shù)據(jù),以及兩張表交集部分數(shù)據(jù) 。 右外連接:查詢右表所有數(shù)據(jù),以及兩張表交集部分數(shù)據(jù)。

自連接:當前表與自身的連接查詢,自連接必須使用表別名。

3.2 內(nèi)連接語法3.2.1隱式內(nèi)連接select 字段名 from 表1,表2 where 條件....;3.2.2 顯式內(nèi)連接select 字段名 from 表1 [inner] join 表2 no 連接條件;

內(nèi)連接是兩張表交集的部分

3.3 內(nèi)連接練習3.3.1 查詢每一個員工的姓名,及關聯(lián)的部門的名稱(隱式內(nèi)連接實現(xiàn))select emp.name,dept.name from emp,dept where emp.id=dept.id;3.3.2 查詢每一個員工的姓名,及關聯(lián)的部門的名稱(顯示內(nèi)連接實現(xiàn))select emp.name,dept.name from emp join dept on emp.id=dept.id;

3.4 外連接語法

左外連接

select 字段列表 from 表1 left [outer] join 表2 on 條件...;

相當于查詢表1(左表)的所有數(shù)據(jù) 包含 表1和表2交集部分的數(shù)據(jù)

右外連接

select 字段列表 from 表1 right [outer] join 表2 on 條件...;

相當于查詢表2(右表)的所有數(shù)據(jù) 包含 表1和表2交集部分的數(shù)據(jù)

3.5 外連接練習

連接條件:emp.id=dept.id

3.5.1 查詢emp表的所有數(shù)據(jù),和對應部門信息(左外連接)select e.*,d.name from emp e left outer join dept d on d.id=e.id;3.5.2 查詢dept表的所有數(shù)據(jù),和對應的員工信息(右外連接)select d.*,e.* from emp e right outer join dept d on d.id=e.id;

右連接可以改為左連接

select d.*,e.* from dept d left outer join emp e on d.id=e.id;

3.6 自連接語法select 字段列表 from 表A 別名A join 表B 別名B on 條件;

子連接查詢,可以是內(nèi)連接查詢,也可以是外連接查詢。

3.7 聯(lián)合查詢 union,union all

對于union查詢,就是把多次查詢的結(jié)果合并起來,形成一個新的查詢結(jié)果集。

union 語法

SELECT 字段列表 FROM 表A ....UNION [ ALL]SELECT 字段列表 FROM 表B ....;

注意:

對于聯(lián)合查詢的多張表的列數(shù)必須保持一致,字段類型也需要保持一致。

union all 會將全部的數(shù)據(jù)直接合并在一起,union 會對合并之后的數(shù)據(jù)去重。

四、總結(jié)

今天的課程就到此結(jié)束了,今天所學的課程為多表查詢的一部分,在下一期的課程中我們主要學習子查詢,期待我們下次再見

到此這篇關于MySQL不就是多表查詢嗎的文章就介紹到這了,更多相關mysql多表查詢內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持好吧啦網(wǎng)!

相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
四虎在线精品| 色婷婷精品视频| 日韩精品一区二区三区中文在线| 亚洲综合小说| 国产精品一区2区3区| 丁香六月综合| 蜜桃av一区二区| 欧美国产极品| 久久九九精品| 蜜臀久久久久久久| 精品日韩视频| 亚洲+小说+欧美+激情+另类| 国产精品99精品一区二区三区∴ | 日本免费一区二区三区四区| 99国产精品视频免费观看一公开| 日本欧美在线| 在线天堂中文资源最新版| 亚洲免费播放| 久久精品一区二区国产| 伊人影院久久| 国产精品久久久久久久久久妞妞 | 国产日韩三级| 国产一区日韩欧美| 亚洲区欧美区| 中文在线免费视频| 亚洲精品伦理| 精品日韩视频| 日本色综合中文字幕| 日韩国产一区二区| 五月国产精品| 伊人久久国产| 日本欧美一区二区| 欧美va天堂在线| 久久永久免费| 日韩av中文在线观看| 91成人网在线观看| 高清av一区| 四虎在线精品| 中国女人久久久| 国内自拍视频一区二区三区| 亚洲精品观看| 亚洲第一精品影视| 老司机精品视频网| 男人的天堂久久精品| 国产高清不卡| 国产精品资源| 一区二区91| 一区二区小说| 国产一区二区三区天码| 日本99精品| 午夜在线一区| 欧美日韩中文字幕一区二区三区| 国产亚洲观看| 色综合视频一区二区三区日韩| 日韩精品一区二区三区免费观影 | 久久九九99| 国产aⅴ精品一区二区四区| 美女网站久久| 影视先锋久久| 欧美日韩国产观看视频| 美女视频一区在线观看| 日韩精品视频在线看| 免播放器亚洲| 激情欧美国产欧美| 亚洲成a人片| 美女国产一区二区三区| 日韩av在线免费观看不卡| 日韩中文字幕麻豆| 亚洲激情欧美| 亚洲二区视频| 欧洲亚洲一区二区三区| 特黄毛片在线观看| 黄色网一区二区| 久久精品亚洲| 国产精品久久国产愉拍| 国产日韩一区二区三区在线播放| 天堂久久一区| 日韩不卡在线观看日韩不卡视频| 久久99伊人| 亚洲精品a级片| av一区二区高清| 精品在线播放| 99国产精品自拍| 99国产精品久久久久久久| 亚洲精品97| 婷婷综合社区| 国产日韩综合| 国产精品美女久久久| 免费视频一区三区| 亚洲精品在线观看91| 久久国产亚洲精品| 亚洲成人精品| 亚洲激情婷婷| 蜜桃av一区二区三区电影| 亚洲精品小说| 一本综合精品| 国产日韩欧美一区在线| 国产精品视频一区二区三区综合 | 国产视频一区欧美| 三级欧美在线一区| 日韩毛片一区| 国产视频一区二区在线播放| 国产精品任我爽爆在线播放| 美女尤物国产一区| 樱桃视频成人在线观看| 日韩网站中文字幕| 香蕉视频成人在线观看| 日韩精选在线| 麻豆一区二区三| 欧美日韩尤物久久| 欧美午夜不卡影院在线观看完整版免费| 亚洲激情国产| 欧美片网站免费| 精品黄色一级片| 99久久九九| 中文字幕日本一区| 国产精品99久久久久久董美香| 黑人精品一区| 美女精品在线| 国产乱码精品一区二区三区四区| 欧美国产一级| 亚洲专区一区| 91成人精品在线| 四虎8848精品成人免费网站| 欧美日韩国产免费观看视频| 日韩精选在线| 久久精品国产一区二区| 在线日韩欧美| 亚洲色图综合| 精品久久视频| 激情综合自拍| 国产毛片精品| 99精品视频精品精品视频| 免费人成网站在线观看欧美高清| 91免费精品国偷自产在线在线| 精品久久99| 最新亚洲一区| 国产精品资源| 久久精品高清| 青青草视频一区| 久久久久久美女精品| 日本一区福利在线| 国产精品jk白丝蜜臀av小说| 久久久久亚洲| 亚洲aa在线| 日韩欧美自拍| 日韩精品一区二区三区中文字幕| 成人在线视频区| 免费人成在线不卡| 日韩1区在线| 亚洲tv在线| 日韩欧美一区二区三区免费观看| 日韩精品免费一区二区夜夜嗨 | 久久成人高清| 在线综合亚洲| 国产一区二区三区四区| 国产精品毛片在线看| 国产精品一区2区3区| av高清一区| 国产精品久久乐| av不卡免费看| 精品日韩一区| 日韩中文av| 亚洲综合电影| 国产精品嫩模av在线| 久久久久久久久久久9不雅视频| 青青国产91久久久久久| 极品日韩av| 水蜜桃精品av一区二区| 91精品麻豆| 国产精品日韩| 香蕉成人av| 国产精品密蕾丝视频下载| 国产午夜精品一区二区三区欧美| 久久婷婷国产| 国产日韩欧美一区二区三区在线观看 | 国产成人精品福利| 日本午夜精品久久久久| 一区福利视频| 亚洲精品在线国产| 狠狠操综合网| 国产在线观看www| 国产精品任我爽爆在线播放| 亚洲国产专区校园欧美| 久久精品一区| 国产私拍福利精品视频二区| 蜜桃伊人久久| 精品国产美女a久久9999| 日本在线不卡视频| 噜噜噜久久亚洲精品国产品小说| 亚洲天堂免费电影| 久久亚洲黄色| 国产剧情在线观看一区| 亚洲人成网站在线在线观看| 久久五月天小说| se01亚洲视频| 成人在线丰满少妇av| 国产精品久久久久久模特| 日本免费新一区视频| 免费成人性网站|