成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

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

MySQL不就是多表查詢嗎

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

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

一、多表關系1.概述

項目開發中,在進行數據庫表結構設計時,會根據業務需求及業務模塊之間的關系,分析并設計表結構,由于業務之間相互關聯,所以各個表結構之間也存在著各種聯系,基本上分為三種:

一對一(多對一)

一對多

多對多

1.1 一對一

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

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

1.1.1 創建用戶基本信息

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 創建用戶教育信息表

create table tb_user_edu( id int auto_increment comment '主鍵id'primary key, degreevarchar(20) null comment '學歷', major varchar(50) null comment '專業', 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 一對多(多對一)

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

1.3 多對多

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

建立三張表的代碼如下

1.3.1 創建學生表且插入數據

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 創建課程表且插入數據

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 創建課程中間表且插入數據

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 '學生課程中間表';

二、多表查詢概述

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

創建兩張表:部門表、員工表

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 連接查詢

內連接:相當于查詢A、B交集部分數據。外連接: 左外連接:查詢左表所有數據,以及兩張表交集部分數據 。 右外連接:查詢右表所有數據,以及兩張表交集部分數據。

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

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

內連接是兩張表交集的部分

3.3 內連接練習3.3.1 查詢每一個員工的姓名,及關聯的部門的名稱(隱式內連接實現)select emp.name,dept.name from emp,dept where emp.id=dept.id;3.3.2 查詢每一個員工的姓名,及關聯的部門的名稱(顯示內連接實現)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(左表)的所有數據 包含 表1和表2交集部分的數據

右外連接

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

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

3.5 外連接練習

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

3.5.1 查詢emp表的所有數據,和對應部門信息(左外連接)select e.*,d.name from emp e left outer join dept d on d.id=e.id;3.5.2 查詢dept表的所有數據,和對應的員工信息(右外連接)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 條件;

子連接查詢,可以是內連接查詢,也可以是外連接查詢。

3.7 聯合查詢 union,union all

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

union 語法

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

注意:

對于聯合查詢的多張表的列數必須保持一致,字段類型也需要保持一致。

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

四、總結

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

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

標簽: MySQL 數據庫
相關文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
亚洲免费观看在线视频| 欧美大胆人体bbbb| 乱码第一页成人| 日韩一级片网站| 一区二区三区 在线观看视频| 成人中文字幕电影| 在线天堂一区av电影| 日韩免费观看高清完整版| 亚洲成人久久影院| 欧美国内亚洲| 在线不卡中文字幕播放| 亚洲一区二区三区视频在线播放 | 亚洲综合另类小说| 久久99国产精品麻豆| 99精品久久免费看蜜臀剧情介绍| 久热re这里精品视频在线6| 国产精品国产馆在线真实露脸| 国内精品嫩模私拍在线| 久久久一区二区三区捆绑**| 欧美高清在线精品一区| 精品一区二区三区久久久| 国产欧美日韩视频一区二区三区| 久久久久国产精品人| 国产精品影视在线| 久久久久网址| 国产精品免费网站在线观看| 成人在线一区二区三区| 欧美日韩精品专区| 一区二区三区日韩在线观看| 国产大陆亚洲精品国产| 欧美中文字幕亚洲一区二区va在线| 免费成人你懂的| 欧美精品自拍偷拍| 国产iv一区二区三区| 日韩精品一区二区三区四区| 91视频在线观看免费| 国产精品欧美经典| 影音先锋日韩资源| 亚洲综合av网| 久久国产精品亚洲77777| 视频在线观看国产精品| 91久久免费观看| 久久99久久99精品免视看婷婷 | 亚洲在线电影| 日产精品久久久久久久性色| 精品污污网站免费看| 粉嫩av一区二区三区粉嫩| 国产欧美日本一区二区三区| 一区二区三区久久网| 欧美aaaaaa午夜精品| 日韩亚洲欧美综合| 欧美一区1区三区3区公司| 中文字幕国产一区二区| 中国女人久久久| 日韩综合在线视频| 欧美肥妇free| 91免费版pro下载短视频| 国产精品五月天| 久久av一区二区| 国产精品一线二线三线| 国产日韩精品久久久| 国产日韩一区二区三区在线播放| 日本亚洲视频在线| 精品国一区二区三区| 亚洲高清久久| 久久99在线观看| 国产亚洲一区二区三区| 亚洲精品在线视频观看| 日韩av电影天堂| 欧美日韩综合在线免费观看| 不卡区在线中文字幕| 亚洲色图视频网站| 欧美偷拍一区二区| 成人av在线电影| 一区二区三区在线影院| 欧美日韩国产首页| 欧美精品导航| 蜜臀av性久久久久蜜臀aⅴ四虎| 日韩精品中文字幕一区二区三区| 国产自产精品| 蜜桃视频一区二区三区在线观看| 精品乱人伦一区二区三区| 激情婷婷久久| 伦理电影国产精品| 亚洲精品一区在线观看| 亚洲精品少妇| 国产自产v一区二区三区c| 中文字幕中文字幕在线一区 | 精品成人一区二区三区四区| 日韩一级欧洲| 狠狠色丁香九九婷婷综合五月| 精品国产乱码久久久久久久| 亚洲一区二区三区精品在线观看| 国产成人av网站| 一区二区三区高清| 91精品蜜臀在线一区尤物| 好吊日精品视频| 韩国视频一区二区| 欧美国产97人人爽人人喊| 色欧美片视频在线观看| 欧美人与禽性xxxxx杂性| 免费高清在线一区| 国产精品久久久久久久久免费相片| 欧美日韩一区二区在线观看视频| 欧美成人久久| 久久精品久久99精品久久| 国产精品免费久久久久| 欧美日韩视频在线观看一区二区三区| 欧美日韩一区二区三区四区在线观看| 日日摸夜夜添夜夜添亚洲女人| 精品欧美乱码久久久久久1区2区 | 久久亚洲午夜电影| 亚洲欧美一区二区原创| 日韩激情视频在线观看| 国产亚洲欧美激情| 欧美日韩中文字幕精品| aa亚洲婷婷| kk眼镜猥琐国模调教系列一区二区| 亚洲一区二区三区免费视频| 久久亚洲精华国产精华液 | 精品在线亚洲视频| 亚洲欧美欧美一区二区三区| 91精品国产综合久久久久久久久久 | 日韩一本二本av| 亚洲伊人观看| 97久久精品人人澡人人爽| 蜜桃av一区二区三区电影| 亚洲欧洲成人精品av97| 日韩小视频在线观看专区| 久久久综合网| 亚洲国产免费| 99精品视频在线播放观看| 日韩经典中文字幕一区| 亚洲色图另类专区| 久久人人爽爽爽人久久久| 欧美天堂一区二区三区| 国产精品日本一区二区| 国产精品xvideos88| 不卡av在线免费观看| 国内成人精品2018免费看| 亚洲大片精品永久免费| 国产精品美女视频| 亚洲精品一区二区三区四区高清| 欧美亚洲一区二区三区四区| 亚洲永久网站| 精品999日本| 欧美精品二区| 北条麻妃一区二区三区| 国产又黄又大久久| 蜜桃av一区二区三区| 亚洲成人动漫精品| 亚洲视频一区二区在线观看| 国产视频一区在线播放| 欧美成va人片在线观看| 欧美日韩国产精品自在自线| 色综合久久六月婷婷中文字幕| 亚洲日本久久| 国产在线视频欧美一区二区三区| 色综合欧美在线| 99久久国产综合精品女不卡| 成人午夜视频免费看| 国内精品视频666| 欧美bbbbb| 天天免费综合色| 亚洲高清在线精品| 亚洲综合色丁香婷婷六月图片| 亚洲猫色日本管| 日韩毛片精品高清免费| 中文字幕中文字幕中文字幕亚洲无线| 国产精品三级av在线播放| 国产精品网站在线播放| 国产精品久久久久一区二区三区 | 免费精品视频| 亚洲一区3d动漫同人无遮挡| 亚洲美女一区| 在线视频精品一区| 日韩视频久久| 亚洲欧美日韩精品久久久 | 一本色道a无线码一区v| 久久先锋影音| 色诱亚洲精品久久久久久| 一本久久a久久精品亚洲| 久久精品中文| 色婷婷综合久久久久中文| 色哟哟日韩精品| 在线看不卡av| 51精品国自产在线| 制服丝袜激情欧洲亚洲| 欧美成人性战久久| 精品第一国产综合精品aⅴ| 国产欧美日韩中文久久| 最新成人av在线| 一区二区理论电影在线观看| 天天综合色天天综合| 久久99久国产精品黄毛片色诱| 国产呦精品一区二区三区网站| 国产曰批免费观看久久久| 丁香婷婷综合五月| 色综合网站在线| 亚洲性人人天天夜夜摸|