MySQL复习资料(六)——MySQL-多表联合查询
生活随笔
收集整理的這篇文章主要介紹了
MySQL复习资料(六)——MySQL-多表联合查询
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
📋導讀📋
💝博客主頁:紅目香薰_CSDN博客-大數據,MySQL,Java領域博主💝
?本文由在下【紅目香薰】原創,首發于CSDN?
🤗2022年最大愿望:【服務百萬技術人】🤗
📋前言📋
本文屬于系列文章,分別為:
MySQL復習資料(一)——MySQL環境安裝
MySQL復習資料(二)——MySQL-DDL語句
MySQL復習資料(三)——MySQL-DML語句
MySQL復習資料(四)——MySQL-聚合函數
MySQL復習資料(五)——MySQL-索引
MySQL復習資料(六)——MySQL-多表聯合查詢
MySQL復習資料(七)——MySQL-存儲過程
MySQL復習資料(八)——MySQL-事務
MySQL復習資料(九)——MySQL-圖形化工具使用
📋正文📋
MySQL復習資料(六)——MySQL-多表聯合查詢
目錄
創建從表
兩表聯合查詢
笛卡爾積查詢
去笛卡爾積查詢
查詢結果篩選
創建從表
CREATE TABLE user_address (id int(8) NOT NULL AUTO_INCREMENT,uid int(8) NOT NULL,inName varchar(32) NOT NULL,inPhone varchar(11) NOT NULL,address varchar(200) NOT NULL,PRIMARY KEY (id) ) DEFAULT CHARSET=utf8; insert into user_address values (0,1,'superadmin','18112345671','hebei shijiazhuang'), (0,1,'admin','18112345672','guangxi nanning'), (0,2,'zhangsan','18112345673','heilongjiang haerbin'), (0,2,'zhangsan','18112345674','hubei wuhan'), (0,3,'lisi','18112345675','hebei zhangjiakou'), (0,4,'wangwu','18112345676','hebeisheng xingtai'), (0,5,'zhaoliu','18112345677','jiangwusheng hangzhoushi'), (0,9,'shigandang','18112345678','shanghaishi');不必要加外鍵,如果需要添加,需要將MySQL的引擎改為【InnoDB】。
show create table users;只有在【InnoDB】下才可以添加外鍵。
原因:禁止使用外鍵,如果要保證完整性,應由應用程式實現——參考《阿里內部mysql規范》
兩表聯合查詢
笛卡爾積查詢
select * from users,user_address;共計查詢64條,計算方式:A表users 8條數據,B表user_address 8條數據,8*8=64條。
交叉相乘,相當于計算了兩個表的笛卡爾積。
去笛卡爾積查詢
select * from users,user_address where users.id=user_address.uid;查詢結果篩選
由于有兩個id,需要說明都是誰的ID,故而需要進行單獨修改名稱,如果只有一個列名可以直接使用。
select u.id '用戶id',createDate,userName,passWord,age,phone '手機',introduce,a.id '地址id',inName '收獲人',inPhone '收貨人手機號',address '收貨人地址'?from users u,user_address a where u.id=a.uid;在常規的數據基礎上做篩查即可。
總結
以上是生活随笔為你收集整理的MySQL复习资料(六)——MySQL-多表联合查询的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MySQL复习资料(五)——MySQL-
- 下一篇: MySQL复习资料(七)——MySQL-