欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MySQL數(shù)據(jù)庫(kù)之union,limit和子查詢?cè)斀?/h1>
 更新時(shí)間:2022年07月25日 08:45:24   作者:世界盡頭與你  
這篇文章主要為大家詳細(xì)介紹一下MySQL數(shù)據(jù)庫(kù)中union、limit和子查詢的使用,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)MySQL有一定幫助,需要的可以參考一下

1.where中的子查詢

示例數(shù)據(jù)參見此文章

案例:查詢比最低工資高的員工姓名和薪資

子查詢,先查詢子查詢括號(hào)里的,再向上級(jí)進(jìn)行查詢

mysql> select ename,sal from emp where sal
    -> >
    -> (select min(sal) from emp);
+--------+---------+
| ename  | sal     |
+--------+---------+
| ALLEN  | 1600.00 |
| WARD   | 1250.00 |
| JONES  | 2975.00 |
| MARTIN | 1250.00 |
| BLAKE  | 2850.00 |
| CLARK  | 2450.00 |
| SCOTT  | 3000.00 |
| KING   | 5000.00 |
| TURNER | 1500.00 |
| ADAMS  | 1100.00 |
| JAMES  |  950.00 |
| FORD   | 3000.00 |
| MILLER | 1300.00 |
+--------+---------+
13 rows in set (0.02 sec)

2.from子句后的子查詢

from后面的子查詢,可以將子查詢的查詢結(jié)果當(dāng)作一張臨時(shí)表來(lái)看待

案例:找出每個(gè)崗位的平均薪資的薪資等級(jí)

mysql> select
    -> t.*,s.grade
    -> from
    -> (select job,avg(sal) as avgsal from emp group by job) t
    -> join salgrade s
    -> on
    -> t.avgsal between s.losal and s.hisal;
+-----------+-------------+-------+
| job       | avgsal      | grade |
+-----------+-------------+-------+
| CLERK     | 1037.500000 |     1 |
| SALESMAN  | 1400.000000 |     2 |
| MANAGER   | 2758.333333 |     4 |
| ANALYST   | 3000.000000 |     4 |
| PRESIDENT | 5000.000000 |     5 |
+-----------+-------------+-------+
5 rows in set (0.00 sec)

3.union

MySQL UNION 操作符用于連接兩個(gè)以上的 SELECT 語(yǔ)句的結(jié)果組合到一個(gè)結(jié)果集合中。多個(gè) SELECT 語(yǔ)句會(huì)刪除重復(fù)的數(shù)據(jù)。

MySQL UNION 操作符語(yǔ)法格式:

SELECT expression1, expression2, ... expression_n
FROM tables
[WHERE conditions]
UNION [ALL | DISTINCT]
SELECT expression1, expression2, ... expression_n
FROM tables
[WHERE conditions];

參數(shù)

  • expression1, expression2, ... expression_n: 要檢索的列。
  • tables: 要檢索的數(shù)據(jù)表。
  • WHERE conditions: 可選, 檢索條件。
  • DISTINCT: 可選,刪除結(jié)果集中重復(fù)的數(shù)據(jù)。默認(rèn)情況下 UNION 操作符已經(jīng)刪除了重復(fù)數(shù)據(jù),所以 DISTINCT修飾符對(duì)結(jié)果沒啥影響。
  • ALL: 可選,返回所有結(jié)果集,包含重復(fù)數(shù)據(jù)。

案例:查詢工作崗位為MANAGER或者SALESMAN的員工信息(使用union)

mysql> select ename,job from emp where job = 'MANAGER'
    -> union
    -> select ename,job from emp where job = 'SALESMAN';
+--------+----------+
| ename  | job      |
+--------+----------+
| JONES  | MANAGER  |
| BLAKE  | MANAGER  |
| CLARK  | MANAGER  |
| ALLEN  | SALESMAN |
| WARD   | SALESMAN |
| MARTIN | SALESMAN |
| TURNER | SALESMAN |
+--------+----------+
7 rows in set (0.00 sec)

為什么使用union而不是or邏輯運(yùn)算?因?yàn)閡nion效率更高!

另外,對(duì)于表連接來(lái)說(shuō),如果有恰當(dāng)?shù)膗nion語(yǔ)句可以操作與之相同的效果,優(yōu)先使用union操作

union使用注意:

查詢的兩個(gè)結(jié)果集列數(shù)必須相同

在Mysql中列的數(shù)據(jù)類型可以存在差異,但是在Oracle中則不可以

4.limit查詢

limit用于限制結(jié)果集的長(zhǎng)度

后面可以存在一個(gè)參數(shù)或者兩個(gè)參數(shù)(起始下標(biāo),取數(shù)據(jù)條數(shù))

案例:按照薪資降序取出排名前5的員工信息

mysql> select ename,sal
    -> from emp
    -> order by sal desc
    -> limit 0,5;
+-------+---------+
| ename | sal     |
+-------+---------+
| KING  | 5000.00 |
| FORD  | 3000.00 |
| SCOTT | 3000.00 |
| JONES | 2975.00 |
| BLAKE | 2850.00 |
+-------+---------+
5 rows in set (0.00 sec)

limit在order by之后執(zhí)行

5.分頁(yè)

假設(shè)每頁(yè)要訪問y條數(shù)據(jù),那么第x頁(yè)的數(shù)據(jù)就是

limit((x-1)*y,y)

以上就是MySQL數(shù)據(jù)庫(kù)之union,limit和子查詢?cè)斀獾脑敿?xì)內(nèi)容,更多關(guān)于MySQL union limit 子查詢的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • MySQL日志管理和備份與恢復(fù)

    MySQL日志管理和備份與恢復(fù)

    這篇文章主要介紹了MySQL如何實(shí)現(xiàn)日志的管理,備份與恢復(fù),本文有一定的參考價(jià)值,感興趣的小伙伴可以參考閱讀
    2023-04-04
  • MySQL的左連接、右連接、內(nèi)連接用法解讀

    MySQL的左連接、右連接、內(nèi)連接用法解讀

    這篇文章主要介紹了MySQL的左連接、右連接、內(nèi)連接用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • MySQL查詢緩存優(yōu)化示例詳析

    MySQL查詢緩存優(yōu)化示例詳析

    MySQL的優(yōu)化指的是一個(gè)很大的系統(tǒng),面試的時(shí)候我之前是從sql的語(yǔ)句優(yōu)化方面去說(shuō)的,這種優(yōu)化也有作用,不過(guò)是從邏輯方面去優(yōu)化,下面這篇文章主要給大家介紹了關(guān)于MySQL查詢緩存優(yōu)化的相關(guān)資料,需要的朋友可以參考下
    2022-10-10
  • 一篇文章弄懂MySQL查詢語(yǔ)句的執(zhí)行過(guò)程

    一篇文章弄懂MySQL查詢語(yǔ)句的執(zhí)行過(guò)程

    這篇文章主要給大家介紹了如何通過(guò)一篇文章弄懂MySQL查詢語(yǔ)句的執(zhí)行過(guò)程的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05
  • MySQL常見的底層優(yōu)化操作教程及相關(guān)建議

    MySQL常見的底層優(yōu)化操作教程及相關(guān)建議

    這篇文章主要介紹了MySQL常見的底層優(yōu)化操作教程及相關(guān)建議,包括對(duì)運(yùn)行操作系統(tǒng)的硬件方面及存儲(chǔ)引擎參數(shù)的調(diào)整等零碎方面的小整理,需要的朋友可以參考下
    2015-12-12
  • 修改MySQL數(shù)據(jù)庫(kù)中表和表中字段的編碼方式的方法

    修改MySQL數(shù)據(jù)庫(kù)中表和表中字段的編碼方式的方法

    這篇文章主要介紹了如何修改MySQL數(shù)據(jù)庫(kù)中表和表中字段的編碼方式,需要的朋友可以參考下
    2014-05-05
  • mysql視圖之創(chuàng)建可更新視圖的方法詳解

    mysql視圖之創(chuàng)建可更新視圖的方法詳解

    這篇文章主要介紹了mysql視圖之創(chuàng)建可更新視圖的方法,結(jié)合實(shí)例形式分析了mysql可更新視圖的具體創(chuàng)建、使用方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2019-12-12
  • 通過(guò)實(shí)例分析MySQL中的四種事務(wù)隔離級(jí)別

    通過(guò)實(shí)例分析MySQL中的四種事務(wù)隔離級(jí)別

    SQL標(biāo)準(zhǔn)定義了4種隔離級(jí)別,包括了一些具體規(guī)則,用來(lái)限定事務(wù)內(nèi)外的哪些改變是可見的,哪些是不可見的。下面這篇文章通過(guò)實(shí)例詳細(xì)的給大家分析了關(guān)于MySQL中的四種事務(wù)隔離級(jí)別的相關(guān)資料,需要的朋友可以參考下。
    2017-08-08
  • MySQL中union和join語(yǔ)句使用區(qū)別的辨析教程

    MySQL中union和join語(yǔ)句使用區(qū)別的辨析教程

    這篇文章主要介紹了MySQL中union和join語(yǔ)句的用法區(qū)別,舉例說(shuō)明了union和join在連接操作上的不同作用,需要的朋友可以參考下
    2015-12-12
  • 年底了,你的mysql密碼安全嗎

    年底了,你的mysql密碼安全嗎

    這篇文章主要介紹了MySQL密碼安全的相關(guān)知識(shí),幫助大家更好的使用數(shù)據(jù)庫(kù),感興趣的朋友可以了解下
    2021-01-01

最新評(píng)論