SQL常用基礎語句(二)-- FGHIJ開頭

GROUP BY

GROUP BY語法可以根據給定數據列的每個成員對查詢結果進行分組統計,最終得到一個分組匯總表。在GROUP BY子句后面包含了一個HAVING子句,HAVING類似于WHERE,(唯一的差別是WHERE過濾行,HAVING過濾組)。

1)列出每個部門最高薪水的結果
select dept , max(salary) AS MAXIMUM
FROM STAFF
GROUP BY DEPT

2)where, group by查詢公司2010年入職的各個部門每個級別里的最高薪水

SELECT dept,edlevel,MAX(salary) AS MAXIMUM
FROM STAFF
WHERE hiredate > '2010-01-01'
GROUP BY dept,edlevel
3)where, group by, having查找雇員數超過2個的部門的最高和最低薪水:
SELECT dept ,MAX(salary) AS MAXIMUM ,MIN(salary) AS MINIMUM
FROM STAFF
GROUP BY dept
HAVING COUNT(*) > 2
ORDER BY dept

IF

if函數也能通過判斷條件來返回特定值,當表達式結果對時,返回result_true,否則返回result_false。語法結構是:

if (表達式,result_true, result_false)

IFNULL

IFNULL() 函數用于判斷第一個表達式是否為 NULL,如果為 NULL 則返回第二個參數的值,如果不為 NULL 則返回第一個參數的值。

IFNULL(expression, alt_value)

INSERT INTO

向指定的表中,插入如下幾列數據,列的值通過value 指定

方法1

INSERT INTO?? 表名? (列一 , 列二? ...) VALUE (值一 , 值二 ...)

方法2

INSERT INTO 表名 SET? 字段1 = 值1,字段1 = 值1,字段1 = 值1;

JOIN

JOIN用于連表查詢,主要有5種用法:

1)笛卡爾積:CROSS JOIN

使兩張表的所有字段直接進行笛卡爾積,假設表1有m條數據,表2有n條數據,則結果數量為m*n條

SELECT * FROM tab1 CROSS JOIN tab2

2)內連接:INNER JOIN

內連接需要用ON來指定兩張表需要比較的字段,最終結果只顯示滿足條件的數據

SELECT * FROM tab1 INNER JOIN tab2 ON tab1.id1 = tab2.id2

3)左連接:LEFT JOIN

左連接可以看做在內連接的基礎上,把左表中不滿足ON條件的數據也顯示出來,但結果中的右表部分中的數據為NULL

SELECT * FROM tab1 LEFT JOIN tab2 ON tab1.id1 = tab2.id2

4)右連接:RIGHT JOIN

右連接就是與左連接完全相反

SELECT * FROM tab1 RIGHT JOIN tab2 ON tab1.id1 = tab2.id2

5)全連接:OUTER JOIN

全連接就是左連接和右連接的并集,但是MySQL中并不支持全連接的寫法:

SELECT * FROM tab1 OUTER JOIN tab2 ON tab1.id1 = tab2.id2

不過MySQL可以用UNION聯合左連接和右連接的結果來代替:

SELECT * FROM tab1 LEFT JOIN tab2 ON tab1.id1 = tab2.id2
UNION
SELECT * FROM tab1 RIGHT JOIN tab2 ON tab1.id1 = tab2.id2

?

?

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

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

相關文章

前端響應式期末作品

網頁設計成品_前端響應式 主題:租房網站,共6個html頁面,包含首頁,登錄注冊,租房新聞,租房精選,租房詳情,數據可視化頁面(可以修改內容) 采用技術:…

啟動ChatGPT 的快捷鍵,探索全新 ChatGPT MacOS 應用程序!

博主貓頭虎的技術世界 🌟 歡迎來到貓頭虎的博客 — 探索技術的無限可能! 專欄鏈接: 🔗 精選專欄: 《面試題大全》 — 面試準備的寶典!《IDEA開發秘籍》 — 提升你的IDEA技能!《100天精通鴻蒙》 …

前端錯誤監控與日志收集實踐

前端錯誤監控與日志收集是確保應用程序穩定性和用戶體驗的關鍵部分。今天我們來聊聊前端常用的前端錯誤監控與日志收集方法: 使用try-catch捕獲錯誤 在可能出現錯誤的代碼塊中,使用try-catch結構捕獲錯誤: try {// 可能會拋出錯誤的代碼} c…

深度解析Java 11核心新特性

碼到三十五 &#xff1a; 個人主頁 < 免責聲明 > 避免對文章進行過度解讀&#xff0c;因為每個人的知識結構和認知背景都不同&#xff0c;沒有一種通用的解決方案。對于文章觀點&#xff0c;不必急于評判。融入其中&#xff0c;審視自我&#xff0c;嘗試從旁觀者角度認清…

kafka 工作流程文件存儲

爬蟲組件分析 目錄概述需求&#xff1a; 設計思路實現思路分析1.kafka 工作流程2.kafka 文件存儲 參考資料和推薦閱讀 Survive by day and develop by night. talk for import biz , show your perfect code,full busy&#xff0c;skip hardness,make a better result,wait for…

軟考結束。有什么要說的

1. 竟然是機試&#xff0c;出乎我意料。是 考試機構覺得筆試成本高了么。這次的考試是機試&#xff0c;相比以往有所不一樣。感言是不是以后都會在固定地點考試也說不準。 2. 遇到年輕人。 這次旁邊的一個女同學第一次參加&#xff0c;還像我詢問了一些關于軟考的事。我是有…

深度解析Vue.js組件間的通信方式

Vue.js 組件通信主要通過以下幾種方式來實現&#xff1a; Props&#xff08;屬性&#xff09; 方向&#xff1a;父組件到子組件用途&#xff1a;父組件通過屬性向子組件傳遞數據。特性&#xff1a; 只讀&#xff1a;默認情況下&#xff0c;子組件不能改變props的值。驗證&…

關于學習Go語言的并發編程

開始之前&#xff0c;介紹一下?最近很火的開源技術&#xff0c;低代碼。 作為一種軟件開發技術逐漸進入了人們的視角里&#xff0c;它利用自身獨特的優勢占領市場一角——讓使用者可以通過可視化的方式&#xff0c;以更少的編碼&#xff0c;更快速地構建和交付應用軟件&#…

【數據結構】直接選擇排序詳解!

文章目錄 1.直接選擇排序 1.直接選擇排序 &#x1f427; begin 有可能就是 maxi &#xff0c;所以交換的時候&#xff0c;要及時更新 maxi &#x1f34e; 直接選擇排序是不穩定的&#xff0c;例如&#xff1a; 9 [9] 5 [5]&#xff0c;排序后&#xff0c;因為直接選擇排序是會…

Debug-012-el-popover 使用 doClose() 關閉窗口不生效的處理方案

前言&#xff1a; 今天上午碰見一個非常奇怪的情況&#xff1a;一樣的方法實現的功能&#xff0c;效果卻不一樣。 兩個頁面都是使用的doClose()去關閉的el-popover&#xff0c;其中有一個就是不生效&#xff0c;找不同找了半天&#xff0c;始終不得其解。請看效果吧&#xff1…

Day 5:2785. 將字符串中的元音字母排序

Leetcode 2785. 將字符串中的元音字母排序 給你一個下標從 0 開始的字符串 s &#xff0c;將 s 中的元素重新 排列 得到新的字符串 t &#xff0c;它滿足&#xff1a; 所有輔音字母都在原來的位置上。更正式的&#xff0c;如果滿足 0 < i < s.length 的下標 i 處的 s[i] …

【第5章】SpringBoot整合Druid

文章目錄 前言一、啟動器二、配置1.JDBC 配置2.連接池配置3. 監控配置 三、配置多數據源1. 添加配置2. 創建數據源 四、配置 Filter1. 配置Filter2. 可配置的Filter 五、獲取 Druid 的監控數據六、案例1. 問題2. 引入庫3. 配置4. 配置類5. 測試類6. 測試結果 七、案例 ( 推薦 )…

理解磁盤分區與管理:U啟、PE、DiskGenius、MBR與GUID

目錄 U啟和PE的區別: U啟(U盤啟動): PE(預安裝環境)&#xff1a; 在DiskGenius中分區完成之后是否還需要格式化&#xff1a; 1.建立文件系統&#xff1a; 2.清除數據&#xff1a; 3.檢查并修復分區&#xff1a; 分區表格式中&#xff0c;MBR和GUID的區別&#xff1a; 1…

移動端開發 筆記01

目錄 01 移動端的概述 02 移動端的視口標簽 03 開發中的二倍圖 04 流式布局 05 彈性盒子布局 01 移動端的概述 移動端包括:手機 平板 便攜式設備 目前主流的移動端開發: 安卓設備 IOS設備 只要移動端支持瀏覽器 那么就可以使用瀏覽器開發移動端項目 開發移動端 使用…

怎么看外國的短視頻:四川鑫悅里文化傳媒有限公司

怎么看外國的短視頻&#xff1a;跨文化視角下的觀察與思考 隨著全球化進程的加速和網絡技術的飛速發展&#xff0c;外國短視頻逐漸走進了我們的視野。這些來自不同文化背景、語言體系和審美觀念的短視頻作品&#xff0c;為我們打開了一扇了解世界的窗口。然而&#xff0c;如何…

golang中的md5、sha256數據加密文件md5/sha256值計算步驟和運行內存圖解

在go語言中對數據計算一個md5&#xff0c;或sha256和其他語言 如java, php中的使用方式稍有不同&#xff0c; 那就是要加密的數據必須通過流的形式寫入到你創建的Hash對象中。 Hash數據加密步驟 1. 先使用對應的加密算法包中的New函數創建一個Hash對象&#xff0c;(這個也就是…

leetCode. 85. 最大矩形

leetCode. 85. 最大矩形 部分參考上一題鏈接 leetCode.84. 柱狀圖中最大的矩形 此題思路 代碼 class Solution { public:int largestRectangleArea( vector<int>& h ) {int n h.size();vector<int> left( n ), right( n );stack<int> st;// 求每個矩形…

vue/uniapp 企業微信H5使用JS-SDK

企業微信H5需要我們使用一些SDK方法如獲取外部聯系人userid 獲取當前外部聯系人userid 使用SDK前提是如何通過config接口注入權限驗證配置 使用說明 - 接口文檔 - 企業微信開發者中心 當前項目是vue項目&#xff0c;不好直接使用 引入JS文件&#xff0c;但我們可以安裝依賴…

使用nexus搭建的docker私庫,定期清理無用的鏡像,徹底釋放磁盤空間

一、背景 我們使用nexus搭建了docker鏡像&#xff0c;隨著推送的鏡像數量越來越多&#xff0c;導致nexus服務器的磁盤空間不夠用了。于是&#xff0c;我們急需先手動刪除一些過期的鏡像&#xff0c;可發現磁盤空間并沒有釋放。 那么&#xff0c;如何才能徹底釋放掉呢&#xff…

FreeRTOS學習 -- 任務 API 函數

函數 uxTaskPriorityGet() 此函數用來查詢指定任務的優先級&#xff0c;要使用此函數的話宏 INCLUDE_uxTaskPriorityGet 應該定義為 1。 函數 vTaskPrioritySet() 此函數用于改變某一個任務的任務優先級&#xff0c;要 使 用 此 函 數 的 話 宏 INCLUDE_vTaskPrioritySet 應…