select查詢兩個表的內容,mysql with 查詢_mysql筆記(6)-多表查詢之with

 2023-12-06 阅读 26 评论 0

摘要:本文將簡單介紹with子句的格式和用法1、目的通過創建一張(或多張)臨時表,實現數據的抽離,從而方便進行數據的比較2、格式//創建2張臨時表,并在這2張臨時表的基礎上進行查詢select查詢兩個表的內容?withtemporary_table1_name(column_name,column_name)

本文將簡單介紹with子句的格式和用法

1、目的

通過創建一張(或多張)臨時表,實現數據的抽離,從而方便進行數據的比較

2、格式

//創建2張臨時表,并在這2張臨時表的基礎上進行查詢

select查詢兩個表的內容?with

temporary_table1_name(column_name,column_name) as

(select xxx

from xxx),

temporary_table2_name(column_name,column_name) as

(select xxx

group by多表查詢?from xxx)

select xxx

from temporary_table1_name,temporary_table2_name;

在上述語句中

temporary_table_name及其后面的column_name 都可以由自己指定

注意:創建的臨時表僅可以用于此次查詢,并不會寫入數據庫的物理內存中

MySQL 分頁查詢、3、實例

64e678d1b1416958976009dd4861a2b3.png

在上述的instructor表中,實現以下查詢:

找出 院系總工資 高于 所有院系的平均總工資的 院系名稱

思路如下:

(1)創建臨時表1,使用group by和SUM函數計算各個院系的總工資;

(2)創建臨時表2,對臨時表1的所有行 求平均值,從而得到所有院系的平均總工資;

mysql數據庫筆記、(3)用常規的select+where語句在2張臨時表的基礎上進行查詢

with

dept_total(dept_name,value) as

(select dept_name, SUM(salary)

from instructor

group by dept_name),

MySQL兩張表聯合查詢SQL語句。dept_total_avg(value) as

(select AVG(salary)

from dept_total)

select dept_name

from dept_total, dept_total_avg

where dept_total.value>=dept_total_avg.value;

mysql innodb,結果示意圖如下:

f285be0d52d004ff24cbff2a208bce45.png

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/2/188510.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息