mysql多表内连接查询
生活随笔
收集整理的這篇文章主要介紹了
mysql多表内连接查询
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
-- 查詢用戶信息和對應的訂單信息
SELECT * FROM USER INNER JOIN orderlist ON `orderlist`.`uid`=user.`id`;`user`-- 查詢用戶信息和對應的訂單信息 起別名
SELECT * FROM `user` u INNER JOIN `orderlist` o ON o.uid=u.id;-- 查詢用戶 姓名 年齡, 訂單編號SELECT u.`NAME`, -- 用戶姓名u.`age`, -- 用戶年齡o.`number` -- 訂單編號
FROM USER u -- 用戶表
INNER JOIN `orderlist` o -- 訂單表
ONo.`uid`=u.`id`;
-- 隱式內連接
SELECTu.`NAME`, -- 用戶姓名u.`age`, -- 用戶年齡o.`number` -- 訂單編號
FROMUSER u,`orderlist` o
WHERE o.uid=u.`id`;
數據準備
-- 創建db6數據庫 CREATE DATABASE db6; -- 使用db6數據庫 USE db6;-- 創建user表 CREATE TABLE USER(id INT PRIMARY KEY AUTO_INCREMENT, -- 用戶idNAME VARCHAR(20), -- 用戶姓名age INT -- 用戶年齡 ); -- 添加數據 INSERT INTO USER VALUES (1,'張三',23); INSERT INTO USER VALUES (2,'李四',24); INSERT INTO USER VALUES (3,'王五',25); INSERT INTO USER VALUES (4,'趙六',26);-- 訂單表 CREATE TABLE orderlist(id INT PRIMARY KEY AUTO_INCREMENT, -- 訂單idnumber VARCHAR(30), -- 訂單編號uid INT, -- 外鍵字段CONSTRAINT ou_fk1 FOREIGN KEY (uid) REFERENCES USER(id) ); -- 添加數據 INSERT INTO orderlist VALUES (1,'hm001',1); INSERT INTO orderlist VALUES (2,'hm002',1); INSERT INTO orderlist VALUES (3,'hm003',2); INSERT INTO orderlist VALUES (4,'hm004',2); INSERT INTO orderlist VALUES (5,'hm005',3); INSERT INTO orderlist VALUES (6,'hm006',3); INSERT INTO orderlist VALUES (7,'hm007',NULL);-- 商品分類表 CREATE TABLE category(id INT PRIMARY KEY AUTO_INCREMENT, -- 商品分類idNAME VARCHAR(10) -- 商品分類名稱 ); -- 添加數據 INSERT INTO category VALUES (1,'手機數碼'); INSERT INTO category VALUES (2,'電腦辦公'); INSERT INTO category VALUES (3,'煙酒茶糖'); INSERT INTO category VALUES (4,'鞋靴箱包');-- 商品表 CREATE TABLE product(id INT PRIMARY KEY AUTO_INCREMENT, -- 商品idNAME VARCHAR(30), -- 商品名稱cid INT, -- 外鍵字段CONSTRAINT cp_fk1 FOREIGN KEY (cid) REFERENCES category(id) ); -- 添加數據 INSERT INTO product VALUES (1,'華為手機',1); INSERT INTO product VALUES (2,'小米手機',1); INSERT INTO product VALUES (3,'聯想電腦',2); INSERT INTO product VALUES (4,'蘋果電腦',2); INSERT INTO product VALUES (5,'中華香煙',3); INSERT INTO product VALUES (6,'玉溪香煙',3); INSERT INTO product VALUES (7,'計生用品',NULL);-- 中間表 CREATE TABLE us_pro(upid INT PRIMARY KEY AUTO_INCREMENT, -- 中間表iduid INT, -- 外鍵字段。需要和用戶表的主鍵產生關聯pid INT, -- 外鍵字段。需要和商品表的主鍵產生關聯CONSTRAINT up_fk1 FOREIGN KEY (uid) REFERENCES USER(id),CONSTRAINT up_fk2 FOREIGN KEY (pid) REFERENCES product(id) ); -- 添加數據 INSERT INTO us_pro VALUES (NULL,1,1); INSERT INTO us_pro VALUES (NULL,1,2); INSERT INTO us_pro VALUES (NULL,1,3); INSERT INTO us_pro VALUES (NULL,1,4); INSERT INTO us_pro VALUES (NULL,1,5); INSERT INTO us_pro VALUES (NULL,1,6); INSERT INTO us_pro VALUES (NULL,1,7); INSERT INTO us_pro VALUES (NULL,2,1); INSERT INTO us_pro VALUES (NULL,2,2); INSERT INTO us_pro VALUES (NULL,2,3); INSERT INTO us_pro VALUES (NULL,2,4); INSERT INTO us_pro VALUES (NULL,2,5); INSERT INTO us_pro VALUES (NULL,2,6); INSERT INTO us_pro VALUES (NULL,2,7); INSERT INTO us_pro VALUES (NULL,3,1); INSERT INTO us_pro VALUES (NULL,3,2); INSERT INTO us_pro VALUES (NULL,3,3); INSERT INTO us_pro VALUES (NULL,3,4); INSERT INTO us_pro VALUES (NULL,3,5); INSERT INTO us_pro VALUES (NULL,3,6); INSERT INTO us_pro VALUES (NULL,3,7); INSERT INTO us_pro VALUES (NULL,4,1); INSERT INTO us_pro VALUES (NULL,4,2); INSERT INTO us_pro VALUES (NULL,4,3); INSERT INTO us_pro VALUES (NULL,4,4); INSERT INTO us_pro VALUES (NULL,4,5); INSERT INTO us_pro VALUES (NULL,4,6); INSERT INTO us_pro VALUES (NULL,4,7);-- 笛卡爾積查詢 SELECT * FROM USER,orderlist;總結
以上是生活随笔為你收集整理的mysql多表内连接查询的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java 抽象类对象_Java基础___
- 下一篇: mysql简单外连接查询