您好,登錄后才能下訂單哦!
MySQL數(shù)據(jù)庫多表查詢的方法?這個問題可能是我們?nèi)粘W習或工作經(jīng)常見到的。希望通過這個問題能讓你收獲頗深。下面是小編給大家?guī)淼膮⒖純?nèi)容,讓我們一起來看看吧!
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(外鍵)' ); -- 給已經(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…
感謝各位的閱讀!看完上述內(nèi)容,你們對MySQL數(shù)據(jù)庫多表查詢的方法大概了解了嗎?希望文章內(nèi)容對大家有所幫助。如果想了解更多相關文章內(nèi)容,歡迎關注億速云行業(yè)資訊頻道。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。