日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql 排版 指令_Mysql语句排版

發(fā)布時(shí)間:2023/12/9 数据库 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql 排版 指令_Mysql语句排版 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

SQL 高效排版指北

統(tǒng)一 SQL 排版的相關(guān)用法,極大提高編寫和維護(hù) SQL 的效率。

注: column = 選取的字段;table = 選取的表名

語句結(jié)構(gòu)

錯(cuò)誤

SELECT column1 FROM table1 ORDER BY column1

正確

SELECT

column1

FROM

table1

ORDER BY

column1

解析

SQL 語句在內(nèi)部執(zhí)行時(shí)會(huì)解析成樹狀展開的結(jié)構(gòu),SELECT,FROM,WHERE 等關(guān)鍵字定義了結(jié)構(gòu)體,這些關(guān)鍵詞統(tǒng)一使用大寫并配合縮進(jìn)來直觀的區(qū)分內(nèi)容和結(jié)構(gòu)。

判斷條件

錯(cuò)誤

SELECT column1 FROM table1 WHERE column1=1 AND column2 = 2

正確

SELECT

column1

FROM

table1

WHERE

column1 = 1

AND column2 = 2

解析

同一級(jí)別的語句塊保持相等距離的縮進(jìn),AND 放置在條件前面。

子查詢

錯(cuò)誤

SELECT L.column1 FROM (SELECT column1 FROM table1 ) as L

正確

SELECT

L.column1

FROM

(

SELECT

column1

FROM

table1

) as L

解析

子查詢會(huì)成為一個(gè)完整的表嵌入到上層的結(jié)構(gòu)中,子查詢的內(nèi)部又是一個(gè)完整的結(jié)構(gòu)體,當(dāng)然也要使用縮進(jìn)來定義結(jié)構(gòu),并且整體要往后縮進(jìn)一個(gè)層次,與上層結(jié)構(gòu)配合。

連接

錯(cuò)誤

SELECT table1.column1,table2.column2 FROM table1 LEFT JOIN table2 ON table1.column1 = table2.column1

正確

SELECT

table1.column1

,table2.column2

FROM

table1

LEFT JOIN

table2

ON

table1.column1 = table2.column1

解析

JOIN 后兩張表會(huì)形成一張新的大表,該大表需要保持縮進(jìn)來嵌入到上層,同時(shí)內(nèi)部的兩種表也要通過縮進(jìn)維持結(jié)構(gòu)。

逗號(hào)

錯(cuò)誤

SELECT column1,column2,column3 FROM table1

正確

SELECT

column1

,column2

,column3

FROM

table1

解析

讀者剛開始將逗號(hào)前置可能會(huì)不太習(xí)慣,但這樣做會(huì)顯著的帶來兩個(gè)好處,第一:長(zhǎng)的SQL語句往往選取的字段長(zhǎng)短不一,若將逗號(hào)放在后面,當(dāng)缺失逗號(hào)時(shí)很難發(fā)現(xiàn),放在前面就很容易排查,第二:調(diào)試 SQL 語句時(shí),注釋掉最后一個(gè)字段,也可以直接運(yùn)行,減少調(diào)試時(shí)間。

長(zhǎng)函數(shù)

錯(cuò)誤

SELECT concat(column1,column2,column3) FROM table1

正確

SELECT

concat( column1

,column2

,column3)

FROM

table1

解析

當(dāng)長(zhǎng)的函數(shù)十分復(fù)雜時(shí),若沒有清晰的結(jié)構(gòu),很容易寫完就忘。函數(shù)與函數(shù)參數(shù)也是呈子母對(duì)的性質(zhì),那么它們也就具有樹狀的表達(dá)結(jié)構(gòu),通過縮進(jìn)形式也可以展現(xiàn)出這種樹狀結(jié)構(gòu)。

舉個(gè)栗子

錯(cuò)誤

SELECT L.column1,R.column2,concat(L.column1,R.column2) FROM (SELECT column1 ,column3FROM table1) AS L LEFT JOIN

(SELECT column2,column3FROM table2) AS R ON L.column3 = R.column3 WHERE L.column1 = 1 AND R.column1 = 2 GROUP

BY L.column1,R.column2 ORDER BY L.column1,R.column2

正確

SELECT

L.column1

,R.column2

,concat(L.column1

,R.column2)

FROM

(

SELECT

column1

,column3

FROM

table1

) AS L

LEFT JOIN

(

SELECT

column2

,column3

FROM

table2

) AS R

ON

L.column3 = R.column3

WHERE

L.column1 = 1

AND R.column1 = 2

GROUP BY

L.column1

,R.column2

ORDER BY

L.column1

,R.column2

解析

再復(fù)雜的語句也可以通過這樣的方式拆分以增加可讀性,在后期調(diào)試時(shí)也十分方便。

結(jié)語

知行合一:這個(gè)方法可以加深讀者對(duì) SQL 的理解,在練習(xí)的過程中仔細(xì)體會(huì)這種語法的樹狀結(jié)構(gòu),假以時(shí)日就可以掌握。

怎么學(xué)習(xí)函數(shù):各種函數(shù)看似紛繁多樣,其實(shí)基礎(chǔ)結(jié)構(gòu)十分簡(jiǎn)單,所有的函數(shù)都是圍繞數(shù)字,文本,日期這三種數(shù)據(jù)類型,再輔以一些結(jié)構(gòu)和增刪查改的過程來展開。運(yùn)用函數(shù)的過程就是邏輯上對(duì)這三種類型進(jìn)行運(yùn)算,再通過邏輯去搜索函數(shù),最后組合起來達(dá)到想要目的的過程。so,學(xué)習(xí)函數(shù)就是掌握(數(shù)字,文本,日期)*增刪查改 ,這一表達(dá)式的過程。

如何融會(huì)貫通:隨著練習(xí)的深入,讀者可以感受到寫 SQL 就像折紙一樣,它們面向的對(duì)象都是矩陣,而所有的數(shù)據(jù)產(chǎn)品:Excel,Hive,Tableau等等都是在處理矩陣對(duì)象,只是表達(dá)方式和面對(duì)的場(chǎng)景不同才有所差異,本質(zhì)上殊途同歸。當(dāng)讀者對(duì)矩陣概念有比較清晰的概念時(shí)就可以達(dá)到一通百通的層次。

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)

總結(jié)

以上是生活随笔為你收集整理的mysql 排版 指令_Mysql语句排版的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。