MySQL多表查詢
添加練習(xí)表
-- 用戶表(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(外鍵)' ); -- 給已經(jīng)存在的表添加外鍵,語法如下 -- alter table 表名 add constraint [外鍵名字] foreign key (外鍵字段) references 父表(主鍵字段); ALTER TABLE orders ADD CONSTRAINT user_fk FOREIGN KEY (user_id) REFERENCES `user` (id); -- 向user表中添加數(shù)據(jù) 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 表中插入數(shù)據(jù) 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);
笛卡爾積
SELECT * FROM `user`,`orders`;
SELECT * FROM `user` AS u,`orders` AS o WHERE u.`id`=o.`user_id`;
1.內(nèi)連接
1.1隱式內(nèi)連接
SELECT * FROM `user` AS u,`orders` AS o WHERE u.`id`=o.`user_id`;
1.2顯示內(nèi)連接(推薦使用)
SELECT * FROM `user` u JOIN `orders` o ON u.`id`=o.`user_id` WHERE age >= 18;
2.外連接
2.1右外鏈接
SELECT * FROM `user` u RIGHT JOIN `orders` o ON u.`id`=o.`user_id`;
左邊表數(shù)據(jù)(user)
右邊表數(shù)據(jù)(orders)
2.2左外鏈接(推薦使用)
SELECT * FROM `user` u LEFT JOIN `orders` o ON u.`id`=o.`user_id`;
左邊表數(shù)據(jù)(user)
右邊表數(shù)據(jù)(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不支持)
MySQL其它文章,請看下面鏈接
MySQL DDL 語句
MySQL CRUD 語句
MySQL 聚合函數(shù)
MySQL 多表查詢
END…
到此這篇關(guān)于MySQL數(shù)據(jù)庫高級查詢和多表查詢的文章就介紹到這了,更多相關(guān)MySQL高級查詢和多表查詢內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
標(biāo)簽:鎮(zhèn)江 鷹潭 臺灣 日照 北京 貴州 阜新 合肥
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《MySQL數(shù)據(jù)庫高級查詢和多表查詢》,本文關(guān)鍵詞 MySQL,數(shù)據(jù)庫,高級,查詢,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。