2023-08-05 分類: 網(wǎng)站建設(shè)
在網(wǎng)站建設(shè)中我們常常會用到多個表結(jié)構(gòu)相同的數(shù)據(jù)合并到一個表中,今天創(chuàng)新互聯(lián)建站就來介紹MySql合并結(jié)構(gòu)相同的多張表方法:
1、mysql合并查詢(多張表) union 和 union all
SQL UNION 語法
SELECT 字段名 FROM table1
UNION
SELECT 字段名 FROM table2;
注釋:默認(rèn)地,UNION 操作符選取不同的值。如果允許重復(fù)的值,請使用 UNION ALL。
SQL UNION ALL 語法
SELECT 字段名 FROM table1
UNION ALL
SELECT 字段名 FROM table2;
如果我們需要將兩個select語句的結(jié)果作為一個整體顯示出來,我們就需要用到union或者union all關(guān)鍵字。union(或稱為聯(lián)合)的作用是將多個結(jié)果合并在一起顯示出來。
UNION 操作符用于合并兩個或多個 SELECT 語句的結(jié)果集。
請注意,UNION 內(nèi)部的每個 SELECT 語句必須擁有相同數(shù)量的列。列也必須擁有相似的數(shù)據(jù)類型。同時,每個SELECT語句中的列的順序必須相同。
區(qū)別:
Union:對兩個結(jié)果集進行并集操作,不包括重復(fù)行,同時進行默認(rèn)規(guī)則的排序;
Union All:對兩個結(jié)果集進行并集操作,包括重復(fù)行,不進行排序;
Intersect:對兩個結(jié)果集進行交集操作,不包括重復(fù)行,同時進行默認(rèn)規(guī)則的排序;
Minus:對兩個結(jié)果集進行差操作,不包括重復(fù)行,同時進行默認(rèn)規(guī)則的排序。
2、多張表查詢出來合并成一個表
以上只是聯(lián)合查詢出來,并沒有合并成一個表,下面創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司介紹合并結(jié)構(gòu)相同的多張表
要求把3個相同表結(jié)構(gòu)的表tbcxhl_1,tbcxhl_2,tbcxhl_3,合并到創(chuàng)建的新表tbcxhl中。
CREATE TABLE tbcxhl
select * from tbcxhl_1
UNION
select * from tbcxhl_2
UNION
select * from tbcxhl_3
order by rand()
后續(xù)還可以加入多個表,示例只合并3張表。
合并需要用到的函數(shù)有 UNION ALL 并集,包括重復(fù)行,不排序 和 UNION 并集,不包括重復(fù)行,可排序。
下邊創(chuàng)新互聯(lián)網(wǎng)站開發(fā)公司再介紹把tbcxhl_1表的數(shù)據(jù)追加到表tbcxhl中
insert into tbcxhl select * from tbcxhl_1; //把tbcxhl_1的數(shù)據(jù)追加到表tbcxhl中
insert into 表 (select * from tb1, tb2, tb3); //把多個表tb1、tb2、tb3追加到表中,我沒有成功。
有法合并就可以拆分:上次我們介紹了如何把一個表分成多次多個表導(dǎo)出點擊可以查看。
文章名稱:MySql合并結(jié)構(gòu)相同的多張表
文章位置:http://www.rwnh.cn/news31/274831.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、網(wǎng)站營銷、定制網(wǎng)站、Google、網(wǎng)站維護、品牌網(wǎng)站設(shè)計
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容