mysql union all 別名_mysql union和union all

如下先創建2個表,aa bb.

CREATE table aa(

uid int(20) not null,

name VARCHAR(30) not null

)engine=innodb default charset=utf8mb4 COLLATE utf8mb4_general_ci;

INSERT INTO `aa`(`uid`, `name`) VALUES (10, '張芳');

INSERT INTO `aa`(`uid`, `name`) VALUES (11, '王凱');

INSERT INTO `aa`(`uid`, `name`) VALUES (12, '張學友');

INSERT INTO `aa`(`uid`, `name`) VALUES (13, '陳真');

INSERT INTO `aa`(`uid`, `name`) VALUES (14, '向佳');

INSERT INTO `aa`(`uid`, `name`) VALUES (15, '徐州');

CREATE table bb(

uid int(20) not null,

name VARCHAR(30) not null

)engine=innodb default charset=utf8mb4 COLLATE utf8mb4_general_ci;

INSERT INTO `bb`(`uid`, `name`) VALUES (110, '王海川');

INSERT INTO `bb`(`uid`, `name`) VALUES (111, '任海波');

INSERT INTO `bb`(`uid`, `name`) VALUES (121, '陳海杰');

INSERT INTO `bb`(`uid`, `name`) VALUES (131, '陳勇');

INSERT INTO `bb`(`uid`, `name`) VALUES (141, '獨孤無敵');

INSERT INTO `bb`(`uid`, `name`) VALUES (151, '陳磊');

INSERT INTO `bb`(`uid`, `name`) VALUES (155, '采花大盜');

UNION 操作符用于合并兩個或多個 SELECT 語句的結果集。UNION 內部的 SELECT 語句必須擁有相同數量的列。列也必須擁有相似的數據類型。

union 是對數據進行并集操作,不包括重復行,同時進行默認排序

從效率上說,UNION ALL 要比UNION快很多,Union all 是對數據進行并集操作,包括重復行,不進行排序

select * from aa;

23d97967f8c5

image.png

select * from bb;

23d97967f8c5

image.png

aa表和bb表合并查詢結果

select * from aa union select * from bb;

23d97967f8c5

image.png

如果想使用ORDER BY或LIMIT子句來對全部UNION結果進行分類或限制,則應對單個地SELECT語句加圓括號,并把ORDER BY或LIMIT放到最后一個的后面

(select uid,name from aa) union (select uid,name from bb)ORDER BY uid desc limit 10;兩個SQL都得加上()。

23d97967f8c5

image.png

或者如下寫SQL也可以

select uid,name from (select uid,name from aa union select uid,name from bb) t order by uid desc LIMIT 10;記得給 括號合并的表取上別名,否則報錯 如下圖

select uid,name from (select uid,name from aa union select uid,name from bb) order by uid desc LIMIT 10;沒取別名 t 報錯

23d97967f8c5

image.png

如果用到分組。

select uid,group_concat(name )from (select uid,name from aa union select uid,name from bb) t group by uid order by uid desc LIMIT 10;

23d97967f8c5

image.png

select uid,name from (select uid,name from aa union select uid,name from bb) t group by uid order by uid desc LIMIT 10;

23d97967f8c5

image.png

運行上面那個SQL會報錯,因為5.7版本之后的MYSQL不在group by里的字段 跟在select會報錯解決辦法是,用函數 any_value(字段名)

select any_value(name),max(uid)from (select uid,name from aa union select uid,name from bb) t group by uid order by uid desc LIMIT 10;

運行上面的SQL 不報錯了

23d97967f8c5

image.png

any_value(字段名)允許,非分組字段的出現

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/534261.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/534261.shtml
英文地址,請注明出處:http://en.pswp.cn/news/534261.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

MySQL不走聯合索引_mysql group by 多列優化思路?為什么不走聯合索引?

explain SELECT a, b, COUNT(*) FROM tbnameGROUP BY a, border by a DESClimit 1a 和 b 列已經設置聯合索引, 為什么這種操作也會執行全表掃描呢?explain SELECT a, b FROM tbnameGROUP BY a, border by a DESC去掉 COUNT 和 limit 則走索引沒有掃描&am…

mysql ddl 鎖_MySQL Online DDL導致全局鎖表案例分析

MySQL Online DDL導致全局鎖表案例分析我這邊遇到了什么問題?線上給某個表執行新增索引SQL, 然后整個數據CPU打到100%, 連接數暴增到極限, 最后導致所有訪問數據庫的應用都奔潰.SQL如下:ALTER TABLE bookADD INDEX idx_sub_title (sub_title ASC);能看到什么?10063293, root,…

ci框架 亂碼 mysql_mysql容器亂碼問題

在docker-compose.yml文件中定義mysql導入utf-8的萬國碼services:mysql:image:mysql:5.7# command: [--character-set-serverutf8mb4, --collation-serverutf8mb4_unicode_ci]volumes:-./data/docker/mysql:/var/lib/mysql-./mysql/:/docker-entrypoint-initdb.d/-./conf/mys…

mysql分表 查詢 優化_MySQL性能管理及架構(查詢優化、分庫分表)一遍文章搞定...

相關配置參數:slow_query_log # 啟動停止記錄慢查日志,慢查詢日志默認是沒有開啟的可以在配置文件中開啟(on)slow_query_log_file # 指定慢查日志的存儲路徑及文件,日志存儲和數據從存儲應該分開存儲long_query_time # 指定記錄慢查詢日志SQL…

dokcer mysql修改編碼_默認支持utf8編碼的mysql docker鏡像

其他人都是不正確的使用mysql容器鏡像可以很快速的運行mysql,免去了傳統的虛擬機安裝方式的繁瑣配置。但是使用官方的mysql鏡像,你會遇到中文亂碼的問題,原因是官方鏡像的字符集默認值不是utf8。這時候你去google,會找到一些文章&…

mysql臨時表 清空_在數據庫中臨時表什么時候會被清除呢

展開全部我們仍使用 實驗 05 中的環境,略去準備數據的過程。我們仍然使用兩個會話,62616964757a686964616fe59b9ee7ad9431333433646439一個會話 run,用于運行主 SQL;另一個會話 ps,用于進行 performance_schema 的觀察…

locust mysql_locust性能壓測連接mysql,隨機取出班級,綁定學生

from locust import HttpLocust, TaskSet, taskimport pymysqlimport randomclass UserBehavior(TaskSet):def on_start(self):db pymysql.connect("ip地址", "用戶名", "密碼", "數據庫")cursor db.cursor()cursor.execute("S…

mysql無法添加或更新子行_違反完整性約束:1452無法添加或更新子行:

我試圖在我的注釋表中插入值,但出現錯誤。俗話說,我不能添加或更新子行,我也不知道這意味著什么。我的架構看起來像這樣-- ------------------------------ Table structure for comments-- ----------------------------DROP TABLE IF EXIST…

python醫學圖像分割_基于cv2的醫學圖像分割

例如,圖像如下所示:import cv2import numpy as npimg cv2.imread("mdb168.pgm",0)import matplotlib.pyplot as pltplt.imshow(img, cmap"gray")我想刪除圖像中所有的偽影和不必要的部分。在為此,我首先對圖像進行二值化…

python解析response的json_從HTML responseTex解析JSON

因此,我大體上同意,更好的解決方案是確保服務器只返回JSON,不過這是通過客戶端Javascript實現的一種快速方法,如Barmer所建議的那樣,將html解析到DOM,獲取body中的文本childNode并在其上運行JSONParse。在v…

mysql 密碼修改時間_Mysql修改密碼的方法

修改mysql密碼的方法:最簡單的,在Navicat連接后點用戶,找到rootlocalhost直接修改。注意如果裝了xampp,在phpmyadmin配置文件也需要改兩處密碼。下面是在命令行修改的方法。方法1:用mysqladmin----------------親測這個…

svn版本庫瀏覽器_在SVN版本庫瀏覽器中直接編輯文件保存后不會彈..._網絡編輯_幫考網...

原因是沒有實際添加到版本庫中,要添加到版本庫必須執行“Commit”。具體分析如下:SVN錯誤處理svn : Couldn’t perform atomic initialization. 臨時解決辦法:升級sqlite。原本安裝的是 subversion 1.6.16 sqlite 3.6.13,一直報”…

ubuntu下使用python將ppt轉成圖片_Ubuntu下使用Python實現游戲制作中的切分圖片功能...

本文實例講述了Ubuntu下使用Python實現游戲制作中的切分圖片功能。分享給大家供大家參考,具體如下:why拿到一個人物行走的素材,要用TexturePacker打包。TexturePacker打包后,助于游戲加載圖片效率,且比較好管理。目前得…

世上最簡單的mysql_mysql這樣學最簡單|基本操作上

這是數據庫系列的第一篇文章,主要是對mysql的基本操作有一個了解。本系列的教程會先從基礎出發,逐步過渡到優化。一、前提在這里我們不會從如何去安裝數據庫開始講起,而是在安裝完之后從操作數據庫開始,文中所有的代碼均在我自己的…

django ipython shell_django shell ipython 模型層優化(關聯對象) 懶加載和預加載 +長鏈接...

懶加載存在于外鍵和多對多關系不檢索關聯對象的數據調用關聯對象會再次查詢數據庫問題根源查看django orm的數據加載,兩次. 查詢user,查詢menu第一次查詢 用戶表 第二次查詢 app表cmd:python manage.py shell #進入shell調試 或者ipythonfrom authorization.models import Use…

zabbix4.0添加mysql報警_Zabbix4.0系統告警“Zabbix server is not running”

第一步: 查看系統日志,進一步確認原因1 cat /var/log/zabbix/zabbix_server.log問題出現在數據庫。第二步 數據庫確認1 mysql -u root -p #root用戶登陸數據庫如果登錄不成功,就看一下登錄密碼是否正確以及zabbix用戶是否有權限登錄數據庫。1…

影響索引的mysql函數_mysql索引對排序的影響實例分析

本文實例講述了mysql索引對排序的影響。分享給大家供大家參考,具體如下:索引不僅能提高查詢速度,還可以添加排序速度,如果order by 后面的語句用到了索引,那么將會提高排序的速度。測試1、創建測試表:t15表…

php如何對 mysql 中text類型拆分存入一個數組_PHP遞歸實現無限級分類,可選返回字符串和數組...

正 文:在一些復雜的系統中,要求對信息欄目進行無限級的分類,以增強系統的靈活性。那么PHP是如何實現無限級分類的呢?我們在本文中使用遞歸算法并結合mysql數據表實現無限級分類。遞歸,簡單的說就是一段程序代碼的重復調…

python 開發框架 ant_Golang/python語言開發的分布式游戲服務器框架 mqant

軟件介紹mqantmqant 是一款基于 Golang 語言的簡潔,高效,高性能的分布式游戲服務器框架,研發的初衷是要實現一款能支持高并發,高性能,高實時性的游戲服務器框架,也希望 mqant 未來能夠做即時通訊和物聯網方…

java w3c xml_org.w3c.dom(java dom)解析XML文檔

首先來了解點Java DOM 的 API:1.解析器工廠類:DocumentBuilderFactory創建的方法:DocumentBuilderFactory dbf DocumentBuilderFactory.newInstance();2.解析器:DocumentBuilder創建方法:通過解析器工廠類來獲得 DocumentBuilder…