SQL常用基礎語句(一)-- ABCDE開頭

AS

將列名從 count(*) 修改為 total

select count(*) as total from users where status=0

將列名 username 改為 uname, password 改為 upwd

select username as uname, password as upwd from users

BETWEEN AND

說明:BETWEEN 篩選的是 >=value1且 <=value2的數據

NOT BETWEEN篩選的是 <value1或 >value2的數據

SELECT?column_name(s)
FROM?table_name
WHERE?column_name
BETWEEN?value1?AND?value2

CASE WHEN

case when語句能在SQL語句中放入判斷邏輯,類似Java中學習的if else語句。

(1)簡單函數:如果字段等于預期值,則返回結果1,否則返回結果2,end代表語句結束。

case 字段 when 預期值 then 結果1 else 結果2 end

例如在表中sex為男改為女,為女改為男,代碼展示:

select name,(case sex when '男' then '女' else '男' end)sex from student;

(2)條件表達式:當條件判斷為真是返回result1,否則返回result2,如果沒有else則返回null。case 和 end之間可以有多個when ....... then ......else 語句,end表示case語句結束。語法結構:

case

??? when 條件判斷 than result1 else result2

end

例如員工薪水等級,代碼展示:

select tb_emp.name,(casewhen salary between 0 and 3000 then 1when salary between 3001 and 5000 then 2when salary between 5001 and 8000 then 3when salary between 8001 and 10000 then 4when salary between 10001 and 15000 then 5when salary between 15001 and 20000 then 6when salary between 20001 and 25000 then 7when salary between 25001 and 30000 then 8end
)grade from tb_emp;

(3)綜合使用:case when 和聚合函數使用,能實現更加復雜的統計功能??

例如:統計有多少個男生和女生以及男女生青年人數的有幾個

select
sum(case when stu_sex='男' then 1 else 0 end) as '男生人數',
sum(case when stu_sex='女' then 1 else 0 end) as '女生人數',
sum(case when stu_age<20 and stu_sex='男' then 1 else 0 end) as '男生青年人數',
sum(case when stu_age<20 and stu_sex='女' then 1 else 0 end) as '女生青年人數'
from student1;

COUNT

1)count(*)所有行進行統計,包含值為null的行和重復項。

2)count(column)會對指定列具有的行數進行統計,除去值為NULL的行。

3)count(1)與count(*) 的效果是一樣的。

4) count(DISTINCT column)會去除重復項。

CURRENT_DATE()

#獲取當前日期

SELECT CURRENT_DATE() AS newDate;??? #2019-05-20

#當前日期加1天(其他天數方法一樣)

SELECT DATE_ADD(CURRENT_DATE(), INTERVAL 1 DAY) AS newDate;??? #2019-05-21

#當前日期減1天

SELECT DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY) AS newDate;?? #2019-05-19

#當前日期加1個月

SELECT DATE_ADD(CURRENT_DATE(), INTERVAL 1 MONTH) AS newDate;? #2019-06-20

#當前日期減1個月

SELECT DATE_ADD(CURRENT_DATE(), INTERVAL -1 MONTH) AS newDate; #2019-04-20

#當前日期加1年

SELECT DATE_ADD(CURRENT_DATE(), INTERVAL 1 YEAR) AS newDate;?? #2020-05-20

#當前日期減1年

SELECT DATE_ADD(CURRENT_DATE(), INTERVAL -1 YEAR) AS newDate;? #2018-05-20

#指定日期加1天(可將DAY換為MONTH,YEAR來實現加1個月,1年)

SELECT DATE_ADD('2019-05-02', INTERVAL 1 DAY) AS newDate;??? #2019-05-03

#指定日期減1天(可將DAY換為MONTH,YEAR來實現減1個月,1年)

SELECT DATE_ADD('2019-05-02', INTERVAL -1 DAY) AS newDate;?? #2019-05-01

#當前時間添加1小時10分鐘10秒鐘

SELECT DATE_ADD(NOW(), INTERVAL '1:10:10' HOUR_SECOND) AS newTime;??? #2019-05-20 15:59:32

#指定時間添加1小時10分鐘10秒鐘

SELECT DATE_ADD('2019-04-17 2:00:00', INTERVAL '1:10:10' HOUR_SECOND) AS newTime;??? #2019-04-17 03:10:10

DATE_FORMAT

語法:DATE_FORMAT(date,format)

date?參數是合法的日期。format?規定日期/時間的輸出格式。

可以使用的格式有:

# 1:星期一 2:星期二 3:星期三 4:星期四 5:星期五 6:星期六 0:星期日

SELECT DATE_FORMAT('2019-05-20','%w') AS weekDay FROM DUAL;??? #1

# 2:星期一 3:星期二 4:星期三 5:星期四 6:星期五 7:星期六 1:星期日

SELECT DAYOFWEEK('2019-05-20') AS weekDay;???? #2

# 0:星期一 1:星期二 2:星期三 3:星期四 4:星期五 5:星期六 6:星期日

SELECT WEEKDAY('2019-05-20') AS weekDay;??? #0

#可將具體日期換為CURRENT_DATE()函數取當前日期,如下:

SELECT DATE_FORMAT(CURRENT_DATE(),'%w') AS weekDay FROM DUAL;SELECT DAYOFWEEK(CURRENT_DATE()) AS weekDay;SELECT WEEKDAY(CURRENT_DATE()) AS weekDay;

DELETE

從指定的表中 根據WHERE條件刪除對應的數據行

DELETE FROM 表名稱 WHERE 列名稱 = 值

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

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

相關文章

小程序主體變更是通過遷移嗎?是需要2個小程序嗎?

小程序遷移變更主體有什么作用&#xff1f;好多朋友都想做小程序遷移變更主體&#xff0c;但是又不太清楚具體有啥用&#xff0c;今天我就來詳細說說。首先&#xff0c;小程序遷移變更主體最重要的作用就是可以修改主體。比如你的小程序原來是 A 公司的&#xff0c;現在 A 公司…

并發編程筆記8--ThreadLocal結構詳解

ThreadLocal&#xff0c;即線程變量&#xff0c;是一個以ThreadLocal對象為鍵&#xff0c;任意對象為值的存儲結構。這個結構被附帶在線程上&#xff0c;也就是說一個線程可以根據一個ThreadLocal對象查詢到綁定在這個線程上的值。可以通過set(T)方法來設置一個值&#xff0c;在…

標識符的命名規則和規范

標識符概念 Java對各種變量, 方法和類等命名時使用的字符序列稱為標識符凡是自己可以起名字的地方都叫標識符 int num1 90; 標識符的命名規則(必須遵守) 由26個英文字母大小寫, 0-9, _或$組成數字不可以開頭. int 3ab 1;不可以使用關鍵字和保留字, 但能包含關鍵字和保留字…

操作系統實驗四:多線程與信號量編程

操作系統實驗上機 更多技術請訪問&#xff1a;www.xuanworld.top 部分審核不通過的文章將發至個人博客&#xff1a;www.xuanworld.top 歡迎來52破解論壇閱讀帖子&#xff1a;https://www.52pojie.cn/thread-1891208-1-1.html 實驗名稱實驗序號實驗日期實驗人多線程與信號量…

010-Linux磁盤介紹

文章目錄 1、名詞 2、類型 3、尺寸 4、接口/協議/總線 5、命名 6、分區方式 MBR分區 GPT分區 1、名詞 磁盤是計算機主要的存儲介質&#xff0c;可以存儲大量的二進制數據&#xff0c;并且斷電后也能保持數據不丟失。早期計算機使用的磁盤是軟磁盤&#xff08;Floppy D…

普通測試工程師與測試開發工程師:為何年薪存在15萬與30萬+的差距?

普通測試工程師想要轉型為測試開發工程師&#xff08;簡稱測開&#xff09;&#xff0c;需要學習一系列的知識和技能。以下是一些關鍵的學習領域&#xff1a; 編程能力&#xff1a;測試開發工程師需要具備一定的編程能力&#xff0c;能夠編寫自動化測試腳本和測試工具。因此&a…

基于yolov5和desnet的貓咪識別模型

前言 前段時間給學校的貓咪小程序搭建了識貓模型&#xff0c;可以通過貓咪的照片辨別出是那只貓貓&#xff0c;這里分享下具體的方案&#xff0c;先看效果圖&#xff1a; 源代碼在文末 模型訓練 在訓練服務器&#xff08;或你的個人PC&#xff09;上拉取本倉庫代碼。 圖片數…

[力扣題解] 200. 島嶼數量

題目&#xff1a;200. 島嶼數量 思路 深度優先搜索、廣度優先搜索、并查集&#xff1b; 代碼 廣度優先搜索 class Solution { public:int dir[4][2] {{0, 1}, {0, -1}, {1, 0}, {-1, 0}};queue<pair<int, int>> que;void bfs(vector<vector<char>&g…

10款免費黑科技軟件,強烈推薦!

1.AI視頻生成——巨日祿 網頁版https://aitools.jurilu.com/ "巨日祿 "是一款功能強大的文本視頻生成器&#xff0c;可以快速將文本內容轉換成極具吸引力的視頻。操作簡單&#xff0c;用戶只需輸入文字&#xff0c;選擇喜歡的樣式和模板&#xff0c; “巨日祿”就會…

Day39貪心算法part06

LC738單調遞增的數字&#xff08;未掌握&#xff09; 思路分析&#xff1a;一旦出現strNum[i - 1] > strNum[i]的情況&#xff08;非單調遞增&#xff09;&#xff0c;首先想讓strNum[i - 1]–&#xff0c;然后strNum[i]給為9字符串是不可變的&#xff0c;不可以使用s.char…

嵌入式交叉編譯:OpenCV

編譯ffmpeg 嵌入式交叉編譯&#xff1a;ffmpeg及相關庫-CSDN博客 下載 LINUX編譯opencv_linux 編譯opencv 模塊-CSDN博客 解壓編譯 penCV自帶編譯配置&#xff0c;十分方便。 BUILD_DIR${HOME}/build_libsCROSS_NAMEaarch64-mix210-linuxFFMPEG_DIR${BUILD_DIR}/libmkdir…

樹莓派學習筆記——樹莓派的三種GPIO編碼方式

1、板載編碼&#xff08;Board pin numbering&#xff09;: 板載編碼是樹莓派上的一種GPIO引腳編號方式&#xff0c;它指的是按照引腳在樹莓派主板上的物理位置來編號。這種方式對于初學者來說可能比較直觀&#xff0c;因為它允許你直接根據引腳在板上的位置來編程。 2、BCM編…

Linux gurb2簡介

文章目錄 前言一、GRUB 2簡介二、GRUB 2相關文件/文件夾2.1 /etc/default/grub文件2.2 /etc/grub.d/文件夾2.3 /boot/grub/grub.cfg文件 三、grubx64.efi參考資料 前言 簡單來說&#xff0c;引導加載程序&#xff08;boot loader&#xff09;是計算機啟動時運行的第一個軟件程…

一起學習大模型 - 從底層了解Token Embeddings的原理(2)

文章目錄 前言4. Token Embeddings綜合運用演示4.1 Token Embeddings處理4.2 偽代碼示例4.3 計算cat和dog兩個詞的相近程序4.3.1 計算方法4.3.2 例子4.3.3 輸出結果 前言 上一篇文章了解了Token Embeddings的原理&#xff0c;這一篇&#xff0c;我們一起來綜合運用學到的知識來…

純干貨分享 機器學習7大方面,30個硬核數據集

在剛剛開始學習算法的時候&#xff0c;大家有沒有過這種感覺&#xff0c;最最重要的那必須是算法本身&#xff01; 其實在一定程度上忽略了數據的重要性。 而事實上一定是&#xff0c;質量高的數據集可能是最重要的&#xff01; 數據集在機器學習算法項目中具有非常關鍵的重…

文章解讀與仿真程序復現思路——電力系統保護與控制EI\CSCD\北大核心《計及溫控厭氧發酵和階梯碳交易的農村綜合能源低碳經濟調度》

本專欄欄目提供文章與程序復現思路&#xff0c;具體已有的論文與論文源程序可翻閱本博主免費的專欄欄目《論文與完整程序》 論文與完整源程序_電網論文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html 電網論文源程序-CSDN博客電網論文源…

網絡域名是什么意思

網絡域名&#xff0c;顧名思義&#xff0c;就是網絡上的名字&#xff0c;類似于現實中的地址或姓名一樣&#xff0c;用來標識網絡上的一個或一組計算機或服務器的位置&#xff0c;以及它們的相應服務資源。網絡域名是互聯網上最基礎的基礎設施之一&#xff0c;是網絡通信的“標…

【mysql】更新操作是如何執行的

現有一張表&#xff0c;建表語句如下&#xff1a; mysql> create table T(ID int primary key, c int);如果要將 ID2 這一行的a字段值加 1&#xff0c;SQL語句會這么寫&#xff1a; mysql> update T set c c 1 where ID 2;上面這條sql執行時&#xff0c;分析器會通過詞…

Nacos 微服務管理

Nacos 本教程將為您提供Nacos的基本介紹&#xff0c;并帶您完成Nacos的安裝、服務注冊與發現、配置管理等功能。在這個過程中&#xff0c;您將學到如何使用Nacos進行微服務管理。下方是官方文檔&#xff1a; Nacos官方文檔 1. Nacos 簡介 Nacos&#xff08;Naming and Confi…

操作符詳解(上)(新手向)

操作符詳解&#xff08;上&#xff09; 一&#xff0c;算術操作符&#xff08;雙目操作符&#xff09;1:‘’,‘-’,‘*’2&#xff1a;‘/’&#xff0c;‘%’ 一&#xff0c;單目操作符1:‘’,‘-’2&#xff1a;‘!’3&#xff1a;‘&’4&#xff1a;‘*’5&#xff1a;…