{eval=Array;=+count(Array);}

成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

問(wèn)答專欄Q & A COLUMN

學(xué)習(xí)sql語(yǔ)言,應(yīng)該如何快速提升自己寫語(yǔ)句的能力?

calxcalx 回答0 收藏1
收藏問(wèn)題

2條回答

leonardofed

leonardofed

回答于2022-06-28 14:19

SQL不是過(guò)程化語(yǔ)言,很多人上手的時(shí)候都不太適應(yīng)。實(shí)際上SQL是一種邏輯化語(yǔ)言,更接近自然語(yǔ)言,被稱為第四代或第五代編程語(yǔ)言。因此,SQL是比較容易上手的。

必要的基礎(chǔ)知識(shí)

要寫好SQL必須熟練掌握關(guān)系代數(shù)中關(guān)系表計(jì)算的四大規(guī)則三個(gè)基本的語(yǔ)句,其他所有的語(yǔ)句都可以由這三條語(yǔ)句衍生出來(lái):

  • 選擇計(jì)算 給定條件從已知關(guān)系表中選出數(shù)據(jù)行組成新的關(guān)系表。Select ?Where語(yǔ)句。這是唯一能減少關(guān)系表行數(shù)的規(guī)則。
  • 投影計(jì)算 從關(guān)系表中選取若干列組成新的關(guān)系表。跟上面的語(yǔ)句相同。這是唯一能減少列數(shù)的規(guī)則。
  • 相交計(jì)算 兩個(gè)關(guān)系表列合并,數(shù)據(jù)行按照笛卡爾集組成新的關(guān)系表。相當(dāng)于Join語(yǔ)句。這是唯一能增加列的規(guī)則。
  • 合并計(jì)算 兩個(gè)列數(shù)相同的關(guān)系表的數(shù)據(jù)行合并組成新的關(guān)系表。相當(dāng)于Union語(yǔ)句。這是唯一能增加數(shù)據(jù)行的規(guī)則。

忽略過(guò)程關(guān)注結(jié)果

寫出簡(jiǎn)潔和高效的SQL的竅門是先想好結(jié)果,然后再通過(guò)對(duì)表和字段的篩選,合并組合等手段作出結(jié)果。一定不要在意計(jì)算過(guò)程。只需要考慮表和表之間的對(duì)應(yīng)關(guān)系就能編碼是SQL的一大特色。

優(yōu)化檢索邏輯

在對(duì)SQL文調(diào)試的時(shí)候,經(jīng)常需要提高檢索效率。很多人喜歡通過(guò)調(diào)整檢索過(guò)程使計(jì)算次數(shù)最少,這個(gè)思路通常是有效的,但是,更有效的方法是整理檢索邏輯,使它最為簡(jiǎn)潔和清晰。我在這里就不具體說(shuō)明了。寫SQL的時(shí)候,用心體會(huì)應(yīng)該能找到感覺(jué)。

SQL是我最喜歡的編程語(yǔ)言,很多算法都可以用數(shù)據(jù)表的方式實(shí)現(xiàn)。受此影響即便是用Java或者是C編碼的時(shí)候,我也喜歡先把算法轉(zhuǎn)換成數(shù)據(jù)結(jié)構(gòu),保存在靜態(tài)的數(shù)組中,然后用檢索的方式得到結(jié)果。有一次,我把同事寫的復(fù)雜度很高的幾百行代碼改成了近萬(wàn)行的數(shù)組,代碼復(fù)雜度降到了10以下,計(jì)算速度大幅提升,編碼生產(chǎn)性達(dá)到了一小時(shí)3000行+…

好嗨哦!趕腳人生到達(dá)了高潮!

評(píng)論0 贊同0
  •  加載中...
yangrd

yangrd

回答于2022-06-28 14:19

找相關(guān)的視頻看,看別人寫的文章。

評(píng)論0 贊同0
  •  加載中...

最新活動(dòng)

您已邀請(qǐng)0人回答 查看邀請(qǐng)

我的邀請(qǐng)列表

  • 擅長(zhǎng)該話題
  • 回答過(guò)該話題
  • 我關(guān)注的人
向幫助了您的網(wǎng)友說(shuō)句感謝的話吧!
付費(fèi)偷看金額在0.1-10元之間
<