国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > MySQL > 正文

幾種MySQL中的聯(lián)接查詢操作方法總結(jié)

2024-07-24 12:46:19
字體:
供稿:網(wǎng)友

前言

現(xiàn)在系統(tǒng)的各種業(yè)務(wù)是如此的復(fù)雜,數(shù)據(jù)都存在數(shù)據(jù)庫中的各種表中,這個主鍵啊,那個外鍵啊,而表與表之間就依靠著這些主鍵和外鍵聯(lián)系在一起。而我們進(jìn)行業(yè)務(wù)操作時,就需要在多個表之間,使用sql語句建立起關(guān)系,然后再進(jìn)行各種sql操作。那么在使用sql寫出各種操作時,如何使用sql語句,將多個表關(guān)聯(lián)在一起,進(jìn)行業(yè)務(wù)操作呢?而這篇文章,就對這個知識點進(jìn)行總結(jié)。

聯(lián)接查詢是一種常見的數(shù)據(jù)庫操作,即在兩張表(多張表)中進(jìn)行匹配的操作。MySQL數(shù)據(jù)庫支持如下的聯(lián)接查詢:

    CROSS JOIN(交叉聯(lián)接)     INNER JOIN(內(nèi)聯(lián)接)     OUTER JOIN(外聯(lián)接)     其它

在進(jìn)行各種聯(lián)接操作時,一定要回憶一下在《SQL邏輯查詢語句執(zhí)行順序》這篇文章中總結(jié)的SQL邏輯查詢語句執(zhí)行的前三步:

    執(zhí)行FROM語句(笛卡爾積)     執(zhí)行ON過濾     添加外部行

每個聯(lián)接都只發(fā)生在兩個表之間,即使FROM子句中包含多個表也是如此。每次聯(lián)接操作也只進(jìn)行邏輯查詢語句的前三步,每次產(chǎn)生一個虛擬表,這個虛擬表再依次與FROM子句的下一個表進(jìn)行聯(lián)接,重復(fù)上述步驟,直到FROM子句中的表都被處理完為止。
前期準(zhǔn)備

 1.新建一個測試數(shù)據(jù)庫TestDB;

      

create database TestDB;

    創(chuàng)建測試表table1和table2;

CREATE TABLE table1 ( customer_id VARCHAR(10) NOT NULL, city VARCHAR(10) NOT NULL, PRIMARY KEY(customer_id) )ENGINE=INNODB DEFAULT CHARSET=UTF8; CREATE TABLE table2 ( order_id INT NOT NULL auto_increment, customer_id VARCHAR(10), PRIMARY KEY(order_id) )ENGINE=INNODB DEFAULT CHARSET=UTF8;

    插入測試數(shù)據(jù);

INSERT INTO table1(customer_id,city) VALUES('163','hangzhou'); INSERT INTO table1(customer_id,city) VALUES('9you','shanghai'); INSERT INTO table1(customer_id,city) VALUES('tx','hangzhou'); INSERT INTO table1(customer_id,city) VALUES('baidu','hangzhou'); INSERT INTO table2(customer_id) VALUES('163'); INSERT INTO table2(customer_id) VALUES('163'); INSERT INTO table2(customer_id) VALUES('9you'); INSERT INTO table2(customer_id) VALUES('9you'); INSERT INTO table2(customer_id) VALUES('9you'); INSERT INTO table2(customer_id) VALUES('tx');

    準(zhǔn)備工作做完以后,table1和table2看起來應(yīng)該像下面這樣:

mysql> select * from table1; +-------------+----------+ | customer_id | city | +-------------+----------+ | 163 | hangzhou | | 9you | shanghai | | baidu | hangzhou | | tx | hangzhou | +-------------+----------+ 4 rows in set (0.00 sec) mysql> select * from table2; +----------+-------------+ | order_id | customer_id | +----------+-------------+ | 1 | 163 | | 2 | 163 | | 3 | 9you | | 4 | 9you | | 5 | 9you | | 6 | tx | +----------+-------------+ 7 rows in set (0.00 sec)
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 镇远县| 社会| 饶平县| 吉首市| 岑巩县| 平原县| 绵阳市| 三河市| 革吉县| 郑州市| 正蓝旗| 容城县| 开平市| 罗定市| 长岭县| 海宁市| 连江县| 内丘县| 定安县| 苏尼特右旗| 高安市| 奈曼旗| 安福县| 内乡县| 凤庆县| 澳门| 丰县| 武隆县| 镇远县| 郯城县| 北碚区| 汝南县| 太白县| 平度市| 微博| 竹山县| 聊城市| 烟台市| 九江市| 河南省| 东乌珠穆沁旗|