好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > MySQL數據庫高級查詢和多表查詢

MySQL數據庫高級查詢和多表查詢

熱門標簽:許昌外呼增值業務線路 廣東400企業電話申請流程 宜賓全自動外呼系統廠家 新鄉智能外呼系統好處 地圖標注客戶付款 石家莊400電話辦理公司 咸陽防封電銷卡 臨沂做地圖標注 申請400電話電話價格

MySQL多表查詢

添加練習表

-- 用戶表(user)
CREATE TABLE `user`(
	`id` INT AUTO_INCREMENT PRIMARY KEY COMMENT '用戶id(主鍵)',
	`username` VARCHAR(50) COMMENT '用戶姓名', 
	`age` CHAR(3) COMMENT '用戶年齡'
);

-- 訂單表(orders)
CREATE TABLE `orders`(
	`id` INT AUTO_INCREMENT PRIMARY KEY COMMENT '訂單id(主鍵)',
	`price` DOUBLE COMMENT '訂單價格',
	`user_id` INT COMMENT '用戶id(外鍵)'
);

-- 給已經存在的表添加外鍵,語法如下
-- alter table 表名 add constraint [外鍵名字] foreign key (外鍵字段) references 父表(主鍵字段);
ALTER TABLE orders ADD CONSTRAINT user_fk FOREIGN KEY (user_id) REFERENCES `user` (id);

-- 向user表中添加數據
INSERT INTO USER VALUES(1,'第一',11);
INSERT INTO USER VALUES(2,'小二',12);
INSERT INTO USER VALUES(3,'張三',33);
INSERT INTO USER VALUES(4,'李四',24);
INSERT INTO USER VALUES(5,'王五',17);
INSERT INTO USER VALUES(6,'趙六',36);
INSERT INTO USER VALUES(7,'七七',18);
INSERT INTO USER VALUES(8,'粑粑',NULL);

-- 向orders 表中插入數據
INSERT INTO orders VALUES(111,1314,3);
INSERT INTO orders VALUES(112,122,3);
INSERT INTO orders VALUES(113,15,4);
INSERT INTO orders VALUES(114,315,5);
INSERT INTO orders VALUES(115,1014,NULL);
INSERT INTO orders VALUES(116,666,6);
INSERT INTO orders VALUES(117,1111,1);
INSERT INTO orders VALUES(118,8888,NULL);


笛卡爾積

  • 笛卡爾乘積是指在數學中,兩個集合X和Y的笛卡爾積(Cartesian product),又稱直積,表示為X × Y,第一個對象是X的成員而第二個對象是Y的所有可能有序對的其中一個成員。(笛卡爾積)百度百科
  • 什么笛卡爾積,如下所示
SELECT * FROM `user`,`orders`;

  • 像如上圖查出來的數據,對我們程序員是沒啥用的。
  • 哪如何消除笛卡爾積呢?需要主外鍵的約束,去重復數據。
SELECT * FROM `user` AS u,`orders` AS o WHERE u.`id`=o.`user_id`;

1.內連接

1.1隱式內連接

  • from 后面直接出現多表表名,這個屬于隱式內連接
  • select * from 表a,表b where a.id = b.a_id;
SELECT * FROM `user` AS u,`orders` AS o WHERE u.`id`=o.`user_id`;

1.2顯示內連接(推薦使用)

  • 使用 inner join 來鏈接表,后面 on 跟條件。(inner 可以省略)
  • select * from 表a inner join 表b on a.id = b.a_id;
  • 查詢成年用戶和訂單數據;
SELECT * FROM `user` u JOIN `orders` o ON u.`id`=o.`user_id` WHERE age >= 18;

2.外連接

  • 外鏈接可以顯示單表的全部數據,包括null;

2.1右外鏈接

  • 顯示右邊表的全部數據
  • 使用 right outer join 來鏈接表,后面 on 跟條件。(outer 可以省略)
  • select * from 表a right outer join 表b on a.id=b.a_id;
SELECT * FROM `user` u RIGHT JOIN `orders` o ON u.`id`=o.`user_id`;

左邊表數據(user)

右邊表數據(orders)

2.2左外鏈接(推薦使用)

  • 顯示左邊表的全部數據
  • 使用 left outer join 來鏈接表,后面 on 跟條件。(outer 可以省略)
  • select * from 表a left outer join 表b on a.id=b.a_id;
SELECT * FROM `user` u LEFT JOIN `orders` o ON u.`id`=o.`user_id`;

左邊表數據(user)

右邊表數據(orders)

3.子查詢

  • 子查詢,嵌套的感覺。查詢出來的結果給另外一個查詢當條件使用。
  • 查詢年齡最大的用戶的訂單數據
SELECT * FROM orders o WHERE o.`user_id` IN (
	SELECT u.`id` FROM `user` u WHERE u.`age` IN(
		SELECT MAX(u.`age`) FROM `user` u
	)
);

4.全連接(MySQL不支持)

  • 全連接,左右兩張表的全部數據包括null。相當于右外鏈接和左外鏈接的結合。
  • select * from 表a full outer join 表b on a.id=b.a_id;(MySQL不支持,不做演示)

MySQL其它文章,請看下面鏈接

MySQL DDL 語句

MySQL CRUD 語句

MySQL 聚合函數

MySQL 多表查詢

END…

到此這篇關于MySQL數據庫高級查詢和多表查詢的文章就介紹到這了,更多相關MySQL高級查詢和多表查詢內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家! 

您可能感興趣的文章:
  • MySQL多表查詢的具體實例
  • MySQL多表查詢詳解下
  • MySQL多表查詢詳解上
  • 淺談MySQL使用笛卡爾積原理進行多表查詢
  • MySQL 四種連接和多表查詢詳解

標簽:鎮江 鷹潭 臺灣 日照 北京 貴州 阜新 合肥

巨人網絡通訊聲明:本文標題《MySQL數據庫高級查詢和多表查詢》,本文關鍵詞  MySQL,數據庫,高級,查詢,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《MySQL數據庫高級查詢和多表查詢》相關的同類信息!
  • 本頁收集關于MySQL數據庫高級查詢和多表查詢的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 亚洲第成色999久久网站| 欧美中文娱乐网| 久草视频播放| 孕妇性孕交XXXXXWWW| 视频色www永久免费| 丝袜美腿亚洲一区二区图片| 你好紧好湿好想cao你视频| 中文字幕无码亚洲字幕成人A刘婷 中文字幕av人妻少妇一区二区 | 一级特黄性色生活片一区二区| 久久99久久精品免观看吃奶| 好烫np太深了被灌满了bl| 女人精69xx第53集| 国产3p精品视频一区| 和校草在教室里h| 在教室伦流澡到高潮H女女视频| 亚洲午夜精品一区二区| 日韩在线观看一区二区三区| 美女写真福利视频大全| 男人j进入女人下部高清图| 一边吻一边摸进内裤里网站| 91成人??在线观看喷潮数学| 欧美娇小www| 非洲人与zoxxxx另类| 嗯啊宝贝| 欲奴在线播放| 舔的我好舒服| 小莹的yin荡生活下视频| 成人免费一区二区三区视频软件| 教师欲乱动漫无修版| 伊能静三级无删减版视频| 特级黄色一级片| 成免费 crm 特色 vip| 甜性涩爱HD韩国未删减| 高能预警韩国双ts超美| 国产理论电影| 久久久久久精品免费看SSS| 国产人妻熟女ⅩXXX网站| 看免费人成va视频全| 小妖精太湿太紧了拔不出| 在公交车上弄到高c| 97视频在线观看视频在线精品|