国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

如何使用SQL系列 之 如何在SQL中使用CASE表達(dá)式

這篇具有很好參考價(jià)值的文章主要介紹了如何使用SQL系列 之 如何在SQL中使用CASE表達(dá)式。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

引言

編程語(yǔ)言通常以條件語(yǔ)句為特征,它們是執(zhí)行特定操作直到滿足特定條件的命令。一個(gè)常見(jiàn)的條件語(yǔ)句是if, then, else語(yǔ)句,它通常遵循以下邏輯:

if condition=true
	then action A
	else action B

這條語(yǔ)句的邏輯可以翻譯成如下語(yǔ)言:“如果condition為真,那么perform action A。否則(else),執(zhí)行動(dòng)作B。”

CASE表達(dá)式是結(jié)構(gòu)化查詢語(yǔ)言(SQL)中的一個(gè)功能,它允許你對(duì)數(shù)據(jù)庫(kù)查詢應(yīng)用類似的邏輯,并設(shè)置如何返回或顯示結(jié)果集中值的條件。
在本教程中,你將學(xué)習(xí)如何使用CASE表達(dá)式,使用WHENTHEN、ELSEEND關(guān)鍵字對(duì)數(shù)據(jù)設(shè)置條件。

前期準(zhǔn)備

為了學(xué)習(xí)本指南,你需要一臺(tái)運(yùn)行某種使用SQL的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)(RDBMS)的計(jì)算機(jī)。

注意:請(qǐng)注意,許多RDBMS使用它們自己獨(dú)特的SQL實(shí)現(xiàn)。雖然本教程中概述的命令適用于大多數(shù)RDBMS,但如果你在MySQL以外的系統(tǒng)上測(cè)試它們,確切的語(yǔ)法或輸出可能會(huì)有所不同。

你還需要一個(gè)裝載了一些示例數(shù)據(jù)的數(shù)據(jù)庫(kù)和表,可以在其中練習(xí)使用相關(guān)命令。

連接到MySQL并設(shè)置一個(gè)示例數(shù)據(jù)庫(kù)

如果SQL數(shù)據(jù)庫(kù)系統(tǒng)運(yùn)行在遠(yuǎn)程服務(wù)器上,請(qǐng)從本地設(shè)備SSH到服務(wù)器:

ssh sammy@your_server_ip

然后打開(kāi)MySQL服務(wù)器提示符,將==sammy==替換為你的MySQL用戶賬戶的名稱:

mysql -u sammy -p

創(chuàng)建一個(gè)名為caseDB的數(shù)據(jù)庫(kù):

CREATE DATABASE caseDB;

如果數(shù)據(jù)庫(kù)成功創(chuàng)建,您將收到這樣的輸出:

OutputQuery OK, 1 row affected (0.01 sec)

要選擇caseDB數(shù)據(jù)庫(kù),運(yùn)行以下USE語(yǔ)句:

USE caseDB;
OutputDatabase changed

選擇數(shù)據(jù)庫(kù)后,在其中創(chuàng)建一個(gè)表。在本教程的示例中,我們將創(chuàng)建一個(gè)表,用于保存歷史上最暢銷的10個(gè)專輯的數(shù)據(jù)。這個(gè)表將包含以下6列:

  • music_id:顯示int數(shù)據(jù)類型的值,并作為表的主鍵,這意味著這一列中的每個(gè)值都將作為其各自行的唯一標(biāo)識(shí)符。
  • artist_name:使用varchar數(shù)據(jù)類型存儲(chǔ)每個(gè)藝術(shù)家的名字,最多30個(gè)字符。
  • album_name:使用varchar數(shù)據(jù)類型,再一次最多30個(gè)字符每個(gè)專輯的名稱。
  • release_date:使用 date數(shù)據(jù)類型跟蹤每張專輯的發(fā)行日期,該數(shù)據(jù)類型使用YYYY-MM-DD日期格式。
  • genre_type:顯示每個(gè)專輯的流派分類用的varchar數(shù)據(jù)類型最多25個(gè)字符。
  • copyes_sold:使用decimal數(shù)據(jù)類型存儲(chǔ)以百萬(wàn)為單位售出的專輯拷貝總數(shù)。該列的精度為4,刻度為1,這意味著該列中的值可以有4位數(shù)字,其中一位位于小數(shù)點(diǎn)的右側(cè)。

通過(guò)運(yùn)行以下CREATE TABLE命令,創(chuàng)建一個(gè)名為top_albums的表,其中包含這些列:

CREATE TABLE top_albums (
music_id int, 
artist_name varchar(30),
album_name varchar(30), 
release_date DATE,
genre_type varchar(25),
copies_sold decimal(4,1),
PRIMARY KEY (music_id)
); 

接下來(lái)向空表中插入一些示例數(shù)據(jù):

INSERT INTO top_albums
(music_id, artist_name, album_name, release_date, genre_type, copies_sold)
VALUES
(1, 'Michael Jackson', 'Thriller', '1982-11-30', 'Pop', 49.2),
(2, 'Eagles', 'Hotel California', '1976-12-08', 'Soft Rock', 31.5),
(3, 'Pink Floyd', 'The Dark Side of the Moon', '1973-03-01', 'Progressive Rock', 21.7),
(4, 'Shania Twain', 'Come On Over', '1997-11-04', 'Country', 29.6),
(5, 'AC/DC', 'Back in Black', '1980-07-25', 'Hard Rock', 29.5),
(6, 'Whitney Houston', 'The Bodyguard', '1992-11-25', 'R&B', 32.4),
(7, 'Fleetwood Mac', 'Rumours', '1977-02-04', 'Soft Rock', 27.9),
(8, 'Meat Loaf', 'Bat Out of Hell', '1977-10-11', 'Hard Rock', 21.7),
(9, 'Eagles', 'Their Greatest Hits 1971-1975', '1976-02-17', 'Country Rock', 41.2),
(10, 'Bee Gees', 'Saturday Night Fever', '1977-11-15', 'Disco', 21.6);
OutputQuery OK, 10 rows affected (0.01 sec)
Records: 10  Duplicates: 0  Warnings: 0

插入數(shù)據(jù)后,就可以開(kāi)始在SQL中使用CASE表達(dá)式了。

理解CASE表達(dá)式的語(yǔ)法

CASE表達(dá)式允許你為數(shù)據(jù)設(shè)置條件,并使用類似于if-then語(yǔ)句的邏輯來(lái)搜索數(shù)據(jù),比較值,并評(píng)估它們是否符合你設(shè)置的條件。下面是CASE表達(dá)式的通用語(yǔ)法示例:

CASE表達(dá)式語(yǔ)法

. . .
CASE 
    WHEN condition_1 THEN outcome_1
    WHEN condition_2 THEN outcome_2
    WHEN condition_3 THEN outcome_3
    ELSE else_outcome
END 
. . .

根據(jù)你想為你的數(shù)據(jù)設(shè)置多少條件,你還需要在CASE表達(dá)式中包含以下關(guān)鍵字:

  • WHEN:這個(gè)關(guān)鍵字根據(jù)你設(shè)置的條件對(duì)表中的數(shù)據(jù)值進(jìn)行計(jì)算和比較。WHEN與典型的if-then-else語(yǔ)句中的if類似。
  • THEN:如果某個(gè)值不滿足條件,這個(gè)關(guān)鍵字會(huì)過(guò)濾你設(shè)置的每個(gè)條件。
  • ELSE:如果數(shù)據(jù)值不滿足你在每個(gè)WHENTHEN語(yǔ)句后設(shè)置的任何條件,那么這個(gè)關(guān)鍵字可以用來(lái)指定它的最終分類條件。
  • END:為了成功運(yùn)行CASE表達(dá)式并設(shè)置條件,你必須以END關(guān)鍵字結(jié)尾。

有了對(duì)CASE表達(dá)式結(jié)構(gòu)和語(yǔ)法的理解,你就可以開(kāi)始練習(xí)示例數(shù)據(jù)了。

使用CASE表達(dá)式

想象一下,你是一名DJ,正在為你古怪的卡羅爾阿姨的65歲生日慶?;顒?dòng)準(zhǔn)備曲目。你知道她的味道很難確定,所以你決定做一些研究十大暢銷唱片的通知你的一些音樂(lè)的決定。

首先,通過(guò)運(yùn)行SELECT*符號(hào)來(lái)查看你在top_albums表中編譯的所有數(shù)據(jù):

SELECT * FROM top_albums;
Output+----------+-----------------+-------------------------------+--------------+------------------+-------------+
| music_id | artist_name     | album_name                    | release_date | genre_type       | copies_sold |
+----------+-----------------+-------------------------------+--------------+------------------+-------------+
|        1 | Michael Jackson | Thriller                      | 1982-11-30   | Pop              |        49.2 |
|        2 | Eagles          | Hotel California              | 1976-12-08   | Soft Rock        |        31.5 |
|        3 | Pink Floyd      | The Dark Side of the Moon     | 1973-03-01   | Progressive Rock |        21.7 |
|        4 | Shania Twain    | Come On Over                  | 1997-11-04   | Country          |        29.6 |
|        5 | AC/DC           | Back in Black                 | 1980-07-25   | Hard Rock        |        29.5 |
|        6 | Whitney Houston | The Bodyguard                 | 1992-11-25   | R&B              |        32.4 |
|        7 | Fleetwood Mac   | Rumours                       | 1977-02-04   | Soft Rock        |        27.9 |
|        8 | Meat Loaf       | Bat Out of Hell               | 1977-10-11   | Hard Rock        |        21.7 |
|        9 | Eagles          | Their Greatest Hits 1971-1975 | 1976-02-17   | Country Rock     |        41.2 |
|       10 | Bee Gees        | Saturday Night Fever          | 1977-11-15   | Disco            |        21.6 |
+----------+-----------------+-------------------------------+--------------+------------------+-------------+
10 rows in set (0.00 sec)

自從卡羅爾阿姨出生于1957年,她年輕的時(shí)候就喜歡上了很多七八十年代的熱門歌曲。你知道她是流行音樂(lè)、軟搖滾和迪斯科的超級(jí)粉絲,所以你要把這些放在你的歌曲列表中最重要的位置。

你可以通過(guò)使用CASE表達(dá)式來(lái)實(shí)現(xiàn)這一點(diǎn),通過(guò)查詢genre_type列下的數(shù)據(jù)值,為那些特定類型設(shè)置條件“高優(yōu)先級(jí)”。下面的查詢執(zhí)行了此操作,并為CASE表達(dá)式創(chuàng)建的結(jié)果列創(chuàng)建了一個(gè)別名,命名為priority。該查詢還包括artist_name、album_namerelease_date以獲取更多上下文。不要忘記使用END關(guān)鍵字來(lái)完成你的CASE表達(dá)式:

SELECT artist_name, album_name, release_date,
CASE WHEN genre_type = 'Pop' THEN 'High Priority' 
WHEN genre_type = 'Soft Rock' THEN 'High Priority'
WHEN genre_type = 'Disco' THEN 'High Priority'
END AS priority
FROM top_albums;
Output+-----------------+-------------------------------+--------------+---------------+
| artist_name     | album_name                    | release_date | priority      |
+-----------------+-------------------------------+--------------+---------------+
| Michael Jackson | Thriller                      | 1982-11-30   | High Priority |
| Eagles          | Hotel California              | 1976-12-08   | High Priority |
| Pink Floyd      | The Dark Side of the Moon     | 1973-03-01   | NULL          |
| Shania Twain    | Come On Over                  | 1997-11-04   | NULL          |
| AC/DC           | Back in Black                 | 1980-07-25   | NULL          |
| Whitney Houston | The Bodyguard                 | 1992-11-25   | NULL          |
| Fleetwood Mac   | Rumours                       | 1977-02-04   | High Priority |
| Meat Loaf       | Bat Out of Hell               | 1977-10-11   | NULL          |
| Eagles          | Their Greatest Hits 1971-1975 | 1976-02-17   | NULL          |
| Bee Gees        | Saturday Night Fever          | 1977-11-15   | High Priority |
+-----------------+-------------------------------+--------------+---------------+
10 rows in set (0.00 sec)

即使這個(gè)輸出反映了你為那些“高優(yōu)先級(jí)”類型設(shè)置的條件,由于你省略了ELSE關(guān)鍵字,這將導(dǎo)致未知或缺失的數(shù)據(jù)值,即NULL值。如果你的數(shù)據(jù)值滿足你在CASE表達(dá)式中設(shè)置的所有條件,ELSE關(guān)鍵字可能沒(méi)有必要,但它對(duì)于任何剩余數(shù)據(jù)都是有用的,因此可以根據(jù)單個(gè)條件對(duì)其進(jìn)行正確分類。

對(duì)于下一個(gè)查詢,編寫相同的CASE表達(dá)式,但這次使用ELSE關(guān)鍵字設(shè)置條件。在下面的例子中,ELSE參數(shù)將genre_type中任何非高優(yōu)先級(jí)的數(shù)據(jù)值標(biāo)記為“Maybe”:

SELECT artist_name, album_name, release_date,
CASE WHEN genre_type = 'Pop' THEN 'High Priority' 
WHEN genre_type = 'Soft Rock' THEN 'High Priority'
WHEN genre_type = 'Disco' THEN 'High Priority'
ELSE 'Maybe'
END AS priority
FROM top_albums;
[sceondary_label Output]
+-----------------+-------------------------------+--------------+---------------+
| artist_name     | album_name                    | release_date | priority      |
+-----------------+-------------------------------+--------------+---------------+
| Michael Jackson | Thriller                      | 1982-11-30   | High Priority |
| Eagles          | Hotel California              | 1976-12-08   | High Priority |
| Pink Floyd      | The Dark Side of the Moon     | 1973-03-01   | Maybe         |
| Shania Twain    | Come On Over                  | 1997-11-04   | Maybe         |
| AC/DC           | Back in Black                 | 1980-07-25   | Maybe         |
| Whitney Houston | The Bodyguard                 | 1992-11-25   | Maybe         |
| Fleetwood Mac   | Rumours                       | 1977-02-04   | High Priority |
| Meat Loaf       | Bat Out of Hell               | 1977-10-11   | Maybe         |
| Eagles          | Their Greatest Hits 1971-1975 | 1976-02-17   | Maybe         |
| Bee Gees        | Saturday Night Fever          | 1977-11-15   | High Priority |
+-----------------+-------------------------------+--------------+---------------+
10 rows in set (0.00 sec)

這個(gè)輸出現(xiàn)在更能代表您為具有最高優(yōu)先級(jí)和不具有最高優(yōu)先級(jí)的專輯設(shè)置的條件。盡管這有助于排在前四名的專輯Thriller,?Hotel California,?RumoursSaturday Night Fever你相信在這張名單上需要更多的多樣性。但你也得說(shuō)服卡羅爾阿姨。

你決定做一個(gè)小實(shí)驗(yàn),讓卡羅爾阿姨拓寬她的音樂(lè)調(diào)色板,聽(tīng)剩下的專輯。你不提供專輯的任何上下文,而是指導(dǎo)她如實(shí)為它們打分,稱它們"Mellow, “Fun”或 “Boring.”。一旦她完成了,她會(huì)給你一份手寫的分?jǐn)?shù)清單?,F(xiàn)在你有了設(shè)置查詢條件所需的信息,如下所示:

SELECT artist_name, album_name, release_date,
CASE WHEN genre_type = 'Hard Rock' THEN 'Boring' 
WHEN genre_type = 'Country Rock' THEN 'Mellow'
WHEN genre_type = 'Progressive Rock' THEN 'Fun'
WHEN genre_type = 'Country' THEN 'Fun'
WHEN genre_type = 'R&B' THEN 'Boring'
ELSE 'High Priority' 
END AS score
FROM top_albums;
Output
+-----------------+-------------------------------+--------------+---------------+
| artist_name     | album_name                    | release_date | score         |
+-----------------+-------------------------------+--------------+---------------+
| Michael Jackson | Thriller                      | 1982-11-30   | High Priority |
| Eagles          | Hotel California              | 1976-12-08   | High Priority |
| Pink Floyd      | The Dark Side of the Moon     | 1973-03-01   | Fun           |
| Shania Twain    | Come On Over                  | 1997-11-04   | Fun           |
| AC/DC           | Back in Black                 | 1980-07-25   | Boring        |
| Whitney Houston | The Bodyguard                 | 1992-11-25   | Boring        |
| Fleetwood Mac   | Rumours                       | 1977-02-04   | High Priority |
| Meat Loaf       | Bat Out of Hell               | 1977-10-11   | Boring        |
| Eagles          | Their Greatest Hits 1971-1975 | 1976-02-17   | Mellow        |
| Bee Gees        | Saturday Night Fever          | 1977-11-15   | High Priority |
+-----------------+-------------------------------+--------------+---------------+
10 rows in set (0.00 sec)

根據(jù)這個(gè)輸出,阿姨卡羅爾似乎開(kāi)放的新聲音,你會(huì)驚喜地看到她的分?jǐn)?shù)為平克弗洛伊德。但你對(duì)她對(duì)AC/DC, Meat Loaf和Whitney Houston的優(yōu)秀曲調(diào)不感興趣有點(diǎn)失望。

如果你能向卡羅爾阿姨展示一些專輯在客觀上比其他專輯更受歡迎,她可能會(huì)更靈活,所以你決定用一些數(shù)字來(lái)左右決定。事實(shí)上,這十張專輯之所以排名前十是因?yàn)樗鼈冊(cè)谶^(guò)去幾十年里賣給了粉絲數(shù)百萬(wàn)張。因此,在下一個(gè)查詢中,你將創(chuàng)建一個(gè)新的CASE表達(dá)式,它根據(jù)copyes_sold中到目前為止售出的專輯的數(shù)值數(shù)據(jù)來(lái)設(shè)置一個(gè)分?jǐn)?shù)。

你將使用CASE表達(dá)式將銷量至少3500萬(wàn)張的專輯設(shè)置為“best”,銷量2500萬(wàn)張的專輯設(shè)置為“great”,銷量2000萬(wàn)張的專輯設(shè)置為“good”,銷量低于3500萬(wàn)張的專輯設(shè)置為“ordinary”,如下例所示:

SELECT artist_name, album_name, release_date, CASE WHEN copies_sold >35.0 THEN 'best'
WHEN copies_sold >25.0 THEN 'great'
WHEN copies_sold >20.0 THEN 'good'
ELSE 'mediocre' END AS score FROM top_albums;
Output+-----------------+-------------------------------+--------------+-------+
| artist_name     | album_name                    | release_date | score |
+-----------------+-------------------------------+--------------+-------+
| Michael Jackson | Thriller                      | 1982-11-30   | best  |
| Eagles          | Hotel California              | 1976-12-08   | great |
| Pink Floyd      | The Dark Side of the Moon     | 1973-03-01   | good  |
| Shania Twain    | Come On Over                  | 1997-11-04   | great |
| AC/DC           | Back in Black                 | 1980-07-25   | great |
| Whitney Houston | The Bodyguard                 | 1992-11-25   | great |
| Fleetwood Mac   | Rumours                       | 1977-02-04   | great |
| Meat Loaf       | Bat Out of Hell               | 1977-10-11   | good  |
| Eagles          | Their Greatest Hits 1971-1975 | 1976-02-17   | best  |
| Bee Gees        | Saturday Night Fever          | 1977-11-15   | good  |
+-----------------+-------------------------------+--------------+-------+
10 rows in set (0.00 sec)

基于這些輸出,沒(méi)有一張專輯被評(píng)為“mediocre”,因?yàn)樗麄兌假u出了2000多萬(wàn)張。然而,也有一些專輯從分?jǐn)?shù)上脫穎而出?,F(xiàn)在你可以為卡羅爾阿姨提供確鑿的證據(jù),證明他們演奏過(guò)AC/DC或惠特尼·休斯頓,因?yàn)樗麄兊膶]嬩N量超過(guò)2500萬(wàn)張,使他們成為最偉大的音樂(lè)作品。

現(xiàn)在你已經(jīng)了解了如何使用CASE表達(dá)式為各種目的以及字符和數(shù)字?jǐn)?shù)據(jù)值設(shè)置條件。此外,CASE如何使用if-then邏輯來(lái)比較這些值并根據(jù)您所需的條件生成響應(yīng)。

總結(jié)

理解如何使用CAST表達(dá)式可以幫助你將數(shù)據(jù)范圍縮小到你設(shè)置的任何條件。無(wú)論你是想為某些價(jià)值觀設(shè)置不同的優(yōu)先級(jí),還是根據(jù)流行觀點(diǎn)或數(shù)字的標(biāo)準(zhǔn)對(duì)它們進(jìn)行評(píng)分,它都可以根據(jù)你的需求靈活設(shè)置。如果你想了解在結(jié)果集中操作數(shù)據(jù)值的其他方法,請(qǐng)查看我們關(guān)于CAST函數(shù)和連接表達(dá)式的指南。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-701958.html

到了這里,關(guān)于如何使用SQL系列 之 如何在SQL中使用CASE表達(dá)式的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【SQL-正則】利用正則表達(dá)式進(jìn)行過(guò)濾操作(常用正則表達(dá)式)

    1、由數(shù)字、26個(gè)英文字母或者下劃線組成的字符串 2、非負(fù)整數(shù)(正整數(shù) + 0 ) 3、正整數(shù) 4、非正整數(shù)(負(fù)整數(shù) + 0) 5、負(fù)整數(shù) 6、整數(shù) 7、非負(fù)浮點(diǎn)數(shù)(正浮點(diǎn)數(shù) + 0) 8、正浮點(diǎn)數(shù) 9、非正浮點(diǎn)數(shù)(負(fù)浮點(diǎn)數(shù) + 0) 10、負(fù)浮點(diǎn)數(shù) 11、浮點(diǎn)數(shù) 12、由26個(gè)英文字母組成的字符串 13、

    2024年02月12日
    瀏覽(32)
  • SQL-正則表達(dá)式和約束

    SQL-正則表達(dá)式和約束

    正則表達(dá)式 約束 正則表達(dá)式是一種用來(lái)描述字符串模式的工具,它可以用于匹配、查找、替換等操作。正則表達(dá)式由字符和特殊字符組成,可以使用這些字符來(lái)定義匹配規(guī)則。 常用的正則表達(dá)式字符和特殊字符有: 普通字符:表示匹配該字符本身,如 a 表示匹配字母\\\"a\\\"。

    2024年02月08日
    瀏覽(32)
  • SQL中常見(jiàn)正則表達(dá)式用法

    在 SQL 中,正則表達(dá)式是一種強(qiáng)大的工具,用于匹配相應(yīng)的字符串模式。SQL 支持的正則表達(dá)式語(yǔ)法因數(shù)據(jù)庫(kù)而異,下面是一些常用的正則表達(dá)式元字符: . :匹配任何單個(gè)字符 * :匹配任意數(shù)量的前一個(gè)字符 + :匹配一個(gè)或多個(gè)前一個(gè)字符 ? :匹配零個(gè)或一個(gè)前一個(gè)字符 ^ :

    2024年02月15日
    瀏覽(54)
  • 【SQL篇】窗口函數(shù)和公共表達(dá)式

    【SQL篇】窗口函數(shù)和公共表達(dá)式

    思路 先給每個(gè)數(shù)進(jìn)行排名 用這些數(shù)減去自己的排名,如果減了之后的結(jié)果是一樣的,說(shuō)明這幾個(gè)數(shù)是連續(xù)的 用logid減去排名得出來(lái)的數(shù)進(jìn)行g(shù)roup by,也就是把連續(xù)的數(shù)全都放在一個(gè)一個(gè)小組里面,求出每個(gè)小組的最大值和最小值就可以了 1596題 總結(jié) 這里有個(gè)坑,count并不會(huì)根

    2024年02月02日
    瀏覽(14)
  • 030、SQL語(yǔ)句之?dāng)?shù)據(jù)類型與表達(dá)式

    類型 存儲(chǔ)空間 最小值(有符號(hào)/無(wú)符號(hào)) 最大值(有符號(hào)/無(wú)符號(hào)) TINYINT 1 -128 / 0 127 / 255 SMALLINT 2 -32768 / 0 32767 / 65535 MEDIUMINT 3 -8388608 / 0 8388607 / 16777215 INT 4 -2147483648 / 0 BIGINT 8 -9223372036854775808 / 0 9223372036854775807 / 18446744073709551615 注意unsigned: 不允許負(fù)數(shù) 用于精確數(shù)值:整數(shù)、小數(shù)或兩

    2024年02月13日
    瀏覽(19)
  • Case表達(dá)式

    Case表達(dá)式

    在發(fā)現(xiàn)結(jié)果為真的WHEN子句時(shí),CASE表達(dá)式的真假值判斷會(huì)終止,剩余的WHEN子句會(huì)被忽略: 注意: 統(tǒng)一各分支返回的數(shù)據(jù)類型. 記得寫end. 寫else子句的習(xí)慣,否則執(zhí)行結(jié)果默認(rèn)處理為null. 將已有編號(hào)方式轉(zhuǎn)換為新的方式并統(tǒng)計(jì) 下面給出的group by引用select中定義的別名,case寫在group by違反

    2024年04月22日
    瀏覽(25)
  • HIVE SQL中替換不可見(jiàn)字符的正則表達(dá)式

    對(duì)于剔除字符串首尾的空格,使用較多的是 trim() 、 ltrim() 、 rtrim() 函數(shù),但是他們無(wú)法去除字符串中間的空格。 這個(gè)時(shí)候通常會(huì)使用正則表達(dá)式來(lái)替換字符串中的空白字符 s 表示匹配任何空白字符,包括空格、制表符、換頁(yè)符等等, 等價(jià)于[ fnrtv]。 返回結(jié)果: ‘a(chǎn)bcdefg’

    2024年02月16日
    瀏覽(36)
  • 「SQL面試題庫(kù)」 No_109 計(jì)算布爾表達(dá)式的值

    「SQL面試題庫(kù)」是由 不是西紅柿 發(fā)起,全員免費(fèi)參與的SQL學(xué)習(xí)活動(dòng)。我每天發(fā)布1道SQL面試真題,從簡(jiǎn)單到困難,涵蓋所有SQL知識(shí)點(diǎn),我敢保證只要做完這100道題,不僅能輕松搞定面試,代碼能力和工作效率也會(huì)有明顯提升。 1.1 活動(dòng)流程 整理題目 :西紅柿每天無(wú)論刮風(fēng)下雨

    2024年02月13日
    瀏覽(19)
  • notepad++配合正則表達(dá)式分組模式處理文本轉(zhuǎn)化為sql語(yǔ)句

    notepad++配合正則表達(dá)式分組模式處理文本轉(zhuǎn)化為sql語(yǔ)句

    一、正則分組知識(shí)點(diǎn)補(bǔ)充 正則分組和捕獲 ():用于分組和捕獲子表達(dá)式。 大白話就是()匹配到的數(shù)據(jù),通過(guò)美元符號(hào)加下標(biāo)可以獲取該數(shù)據(jù),例如$1、$2, 下標(biāo)從1開(kāi)始。 下面的案例就采用該模式處理文本數(shù)據(jù) 二、使用正則的需求背景 有一份報(bào)表的數(shù)據(jù),需要把數(shù)據(jù)入庫(kù)到m

    2024年02月07日
    瀏覽(26)
  • Web攻防--Java_SQL注入--XXE注入-- SSTI模板注入--SPEL表達(dá)式注入

    編譯器在編譯sql語(yǔ)句時(shí),會(huì)依次進(jìn)行詞法分析、語(yǔ)法分析、語(yǔ)義分析等操作, 預(yù)編譯技術(shù)會(huì)讓數(shù)據(jù)庫(kù)跳過(guò)編譯階段,也就無(wú)法就進(jìn)行詞法分析,不會(huì)被拆開(kāi),注入語(yǔ)句也就不會(huì)被識(shí)別為SQL的,從而防止惡意注入語(yǔ)句改變?cè)蠸QL語(yǔ)句本身邏輯。 在使用JDBC進(jìn)行數(shù)據(jù)

    2024年02月09日
    瀏覽(24)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包