如何學習 SQL 語言?


首先,sql是所有資料庫查詢的語言,sql由於本身結構化的特點,非常容易入手。針對不同的資料庫,如hivesql、mysql、sqlserver、oracle等,sql語法會有所不同,但是總體上大同小異,只是細微處的差別。

如果你是資料庫小白,可以先補一下資料庫知識;

如果你有資料庫基礎的,只需要找些sql查詢的習題來做一下,就會很快的得到提高;

接著你想提高sql水平,進階,就要學習一些比較高級的用法和技巧。


1、資料庫基礎

資料庫基礎知識複習

其實這篇文章講的就是所有要點,可以有針對性的了解不熟悉的。不太明白的就直接找一本《資料庫原理》看看,大概5小時。


2、sql習題

經典SQL練習題

SQL查詢語句練習題27道

可以自己搜索sql習題來實踐,這裡推薦2個習題。大概10小時就可以掌握。


3、sql進階

(1)sql執行順序。當sql邏輯複雜後,sql的執行順序就會非常重要。

sql執行順序 - qanholas

(2)SQL ROW_NUMBER() OVER函數。用作分組排序,比如各個省份稅收排名前20的企業。

SQL ROW_NUMBER() OVER函數的基本用法用法

(3)case when then else end。用作條件判斷,比如將10、11、12、13……19、20歲的人群新生成一個欄位『年齡段』取值為10-20歲;聚合函數分別計算,如sum(case when 性別=『男』
then 收入 end) as 收入_男,sum(case when 性別=『n女』
then 收入 end) as 收入_女

SQL中的case when then else end用法

(4)select時加標籤。例如select出某一特徵user_id時新建一個tag欄位作為用戶的標籤。

select user_id,"白領" as tag

(5)差集運算。例如取A集合中不包含在B集合的用戶,做差集。

Hive差集運算詳解

進階技巧和方法是在平常使用中逐步積累的,這裡只舉出幾個常用的。


純初學者推薦圖靈出的《SQL必知必會(第4版)》,這也是Amazon上最暢銷的SQL圖書的中文版,寫得很明快,概念非常清楚。這本書用來學習關係型資料庫也很不錯,至少基本概念比大部頭的教材說得清楚得多。

我印象最深的是,其中講數學味道特別重的關係時,直接說到Codd論文(以及關係型資料庫理論)里的所謂關係其實就是SQL中的表,聞之大悟。

此外O"Reilly的Head First SQL也很適合初學者,不過中文版《深入淺出SQL》 好像絕版了。

如果你英語好,這些網上的教程也不錯:
https://www.sqlteaching.com/
http://www.w3schools.com/sql/default.asp

提高的書,圖靈出過《SQL解惑(第2版)》,《SQL沉思錄》、《SQL編程風格》、《SQL權威指南》,都是名作。O"Reilly也有幾本很好的,但不知道中文翻譯如何。

圖靈SQL圖書列表:圖靈社區 : 圖書 : SQL


在這兒給大家分享讓我得以入門的一個網站和兩本書。

網站:
Learn SQL | Codecademy
這個網站提供了一些基本的SQL操作的教學資源和在線環境給初學者練習SQL,雖然是全英文的但是裡邊的英文並不難理解。
每一個教學部分都有文字講解和操作環節,
講解環節挺詳細的,會把語句分解開來講解:

網頁分為左中右三個部分,在操作環節,網站的左邊是題目,中間是操作框,操作的結果顯示在右邊。

網站課程分為4個單元:
第一單元包括基本的檢索,表的建立,數值的插入,表的修改和刪除等;

第二單元包括篩選出不重複的值、條件篩選、排序和一些操作符和通配符的使用等;

第三單元包括SQL一些聚集函數的使用、分組匯總等;

第四單元包括SQL基本的聯結。

書籍:

  • 《SQL必知必會》

許多人已經推薦過這本書,確實非常適合入門。

  • 《Oracle完全學習手冊》

要入門Oracle的同學可以看看這本,從安裝到操作講解得非常詳細,而且可以從頭到尾跟著書本進行操作。如果僅僅想學習SQL語言的話,可以看看第7~10章,知識點覆蓋面挺廣的。

在此摘抄Amazon上關於本書的內容介紹供大家參考:
本書針對Oracle Database 11g編寫,全面地介紹Oracle資料庫的管理與開發,向讀者全面展示Oracle資料庫的使用,還以大量的實例來介紹Oracle資料庫在實際應用程序中的使用,幫助讀者從實際應用的角度學習Oracle資料庫,以免初學者在學完理論知識後感到迷茫,不知道怎麼去應用學到的知識。本書共分為5篇,分別是Oracle基礎篇、操作Oracle篇、Oracle進階篇、備份與恢復篇和綜合應用篇。各篇的主要內容如下。

第1篇:Oracle基礎篇(第1~6章)。本篇從資料庫的關係理論開始介紹,講解Oracle Database 11g在Windows環境下的安裝,Oracle資料庫的體系結構、如何使用SQL,*Plus工具,以及如何管理表、表空間、控制文件與日誌文件等。

第2篇:操作Oracle篇(第7~12章)。本篇著重介紹Oracle中的數據處理,主要包括:DML語句、事務、子查詢、高級查詢和PL/SQL編程。PL/SQL編程是本書的重點之一,主要內容有存儲過程、函數、觸發器和程序包。

第3篇:Oracle進階篇(第13~18章)。本篇對Oracle中的資料庫安全管理進行詳細介紹,並且介紹Oracle中的其他常用模式對象,例如索引、序列和臨時表等。為了滿足讀者更深入地學習的需求,本篇也將對資料庫對象類型、大對象和SQL語句優化等進行比較具體的介紹。

第4篇:備份與恢復篇(第19~22章)。本篇主要介紹Oracle中的數據備份與恢復。主要包括:用戶管理的備份與恢復、使用RMAN工具實現資料庫的備份與恢復、載入與傳輸數據和Oracle中的閃回技術。

第5篇:綜合應用篇(第23~26章)。本篇介紹了4個應用實例,包括酒店管理系統、BBS論壇、日誌管理模塊和留言本。其中,酒店管理系統結合了Java Swing技術,BBS論壇結合了.JSP技術,日誌管理模塊結合了ASENET技術,留言本結合了PHP技術。這4個實例分別使用了不同的技術,目的是為了滿足讀者的各種編程需求。

*****多練習+多練習+多練習*****
另外W3C的SQL教程還挺適合在學習的過程中或過程後查漏補缺的~
http://www.w3school.com.cn/sql/index.asp


SQL語句看起來就一條,但是相對於Java、C等編程語言來說,學習起來難度要大很多。主要是SQL這玩意太抽象了。一條編程語言語句,我們能清楚地知道執行結果是什麼;而一條SELECT語句,得到最終結果可能要經歷好幾個步驟,腦袋要轉好幾個彎。
初學SQL,首先找一本SQL的電子書,樓上劉江推薦的書可以看看,比如《SQL必知必會》。初入門最重要的得清楚SELECT語句的子句的執行順序。然後去網上找一堆SQL語句測試題(比如SQL練習50題,百度搜能找到的),多練習。如果你能做對絕大部分SQL題,基本算過了入門這一關了。
下一步該關注SQL語句的執行性能和各種資料庫系統的原理,找本MySQL或者Oracle的SQL性能優化教程,看看索引和執行計劃等相關知識。OK,你可以應付一般的工作了,起碼在工作中寫出來的SQL不會被人罵慘。
工作後,要成為高手,實踐出真知,順便多請教資料庫方面的老鳥,哈哈。


我是看了這個回答來慢慢學習的,一共用了一個月時間,走了很多彎路總結一下這一個月的努力。希望大家少走點彎路

一、基礎理論篇

目的:

1.了解建立資料庫的意義,為什麼不能用excel而需要用資料庫?以及有哪些方面的應用?
2.資料庫系統在整個網站中處於一個什麼位置?在數據後台如何調用資料庫的數據?
3.資料庫的應用範圍?什麼時候才不得不使用資料庫?什麼時候資料庫也不靈了?
(大概10萬條就可以使用了,千萬級的就到極限了,這玩意誰知道了)
4.表與表之間存在著怎樣的邏輯?理解實體、關係、主鍵、外鍵。

推薦資料:

資料庫原理(第5版)—清華大學出版社—趙艷鐸和葛萌萌翻譯的

這本書講的比較通俗易懂,很快就能理解資料庫是怎麼回事。其次再看看知乎裡面關於資料庫的性能評價。

二、基礎操作篇

目的:

1.學會操作一些基本的select的操作:

重點注意:
where和having的區別,
join需要注意用on,
like、=、is null的區別 還有null與空格的區別
order by的局限
group by如何在count等命令下分組,
mid如何正向反向查詢字元串位置

基本做到給你一堆數據,你可以查到你想要的

2.了解索引,知道如何建立索引,應用索引

3.了解數據類型,知道如何給各個數據建立對應的模型(兄弟連視頻教學講的比較明白)

重點了解:

char與varchar的區別
tinyint、smallint的範圍
float與double的區別
date相關類型的輸入條件與輸出效果。

推薦資料:

w3school
鏈接:SQL CREATE TABLE 語句

sql執行順序
sql執行順序 - qanholas - 博客園

資料庫系統概論第四版

w3school介紹了一些基本的操作指令,淺顯易懂,但是遠遠不夠,需要再看看資料庫系統概論第四版的第三章和第九章作為補充。
對了,安裝也是個事,看附件吧。

三、練習篇

推薦:

SQL查詢語句練習題27道 - friendan的專欄 - 博客頻道 - CSDN.NET

sql 經典試題

先做前面的,不會的再到網上查,後面的確實比較難,媽的,我就做反了。

四、優化篇

目的

資料庫做的好壞,主要是看執行效率,別人查詢需要掃描20萬的數據,而你只需要掃描5000,那你就是牛逼。
不然就算你會算,但是卡的半死也是不行的。

推薦:

sql執行順序
sql執行順序 - qanholas - 博客園

資料庫系統概論(第四版)第九章

五、高階段語句掌握

case when then else end

個人認為性價比最高

對於分組查詢非常有用。
例如你想要查各個時間段各數據出現的次數,你只有07:28這樣的時間,而你需要的是07:00~08:00這樣的時間段,這時就需要case來轉化

SQL中的case when then else end用法

explain

此函數可以看到查詢函數用到的索引等信息。用法很簡單:explain+sql 查詢語句

SQL語句優化-explain分析問題-nba76ers-ChinaUnix博客

weekday

將日期轉化為星期數 星期日就是6,星期一就是0

MySQL weekday()函數

floor、round、trunc

數值取整 floor是取整數部分,而round是四捨五入,trunc是取x位小數

SQL中的取整函數FLOOR、ROUND、CEIL、TRUNC、SIGN_鄭來軼_新浪博客

row_number()over

做排行榜的函數

SQL ROW_NUMBER() OVER函數的基本用法用法

convert

數據類型轉換

substr和mid

字元串截取

SQL函數:substr - 冰凝的日誌 - 網易博客


資料太多,會頭暈!會煩躁!會不知所措!!!我覺得只需要下面的幾步就好了:

1、首先要知道你學的SQL準備應用到哪個資料庫,ORACLE、DB2、Sybase、SQL Server、MySQL、MS Access?因為這些資料庫中的SQL語句有一些細微的差別;
2、關於資料,只需要:一個網上教程:http://www.w3school.com.cn/sql/index.asp ,買兩本書:《SQL必知必會》,《SQL入門經典》。1個網站,2本書,資料足夠!
3、停止搜索資料,準備行動,不要浪費時間!!
4、學習順序:先看網站教材,然後看《SQL入門經典》,然後《SQL必知必會》,認真看2遍,這都是簡單易懂的經典教材,不用擔心看不懂;
5、然後你對SQL會有一個相對清晰的理解,接下來該學什麼心裡會有數。
6、要多總結,可以利用思維導圖,比如下面這樣:


看了其他答主的答案,感覺都很好。 但是如果對一個零基礎或基礎很低的初學者來說,是很難再腦中形成一個抽象的概念或者邏輯關係的。 我寫這個主要是為使初學者更好地理解資料庫邏輯關係,以便運用其他答主的方法繼續學習。

我是金融轉行做了IT, 最先接觸的也是SQL的東西,現在的每日工作也會用到一部分。 因為當時是零基礎,所以不可能像CS或者IT專業的人一樣,聯繫其他語言,合併起來系統地學習。基於自己的經驗,我覺得需要把抽象的邏輯關係具體化,以幫助理解記憶。 具體地說就是將SQL與ERD (entity relationship diagram) 結合起來一起學習。

ERD (entity relationship diagram) 實體-關係圖
(我學習的不是中文教材,對於中文專業術語不是很了解。我是從百度上找到了中文翻譯,有的是自己從英文翻譯過來。如果有不精確的地方希望大家可以提出,我會修改)
實體-關係圖是數據建模的一種,它表明資料庫中各個實體及相互之間的關係。
E / Entity / 實體 : 是人、事物、地方或者甚至是收集的數據.我們可以理解為一個對象或者是一系列屬性的集合。 例如: 一位顧客(這隻顧客會有姓名,聯繫電話,地址等等屬性),地址本身也可以看做一個實體(它可以拆分為街道名,城市,州,國家,郵編等等屬性)。
R / Relationship / 關係: 是實體間的相互作用,實體間的關係。 比如上述例子中的顧客以及地址兩者之間是有關係的。
PK (Primary Key) 主鍵: 獨屬於某一實體的一個(或多個)屬性值。比如每位顧客會有自己名字,但兩人有可能會重名,所以我們可以給每位顧客一個編號,我們把這個編號叫做id,每位顧客的id都是唯一的,不同於其他顧客的。 (可以理解為咱們的身份證號碼,不考慮特殊因素,每個人有唯一一個身份證號碼,其他人的號碼和你的不一樣)
FK (Foreign Key) 外鍵: 給不用同實體建立連接的屬性值。 比如上述例子中的顧客id, 我們可以在 『地址』實體中找到 『顧客』這個值, 然後通過這個值確定 這一位顧客是誰。

SQL (MS SQL Server)
我以MS SQL Server為例子說。 我們需要知道一些基本的術語, 比如server, database, scheme, table, column, row。
server 伺服器可以簡單理解為存儲這些數據的伺服器,我們在客戶端需要連接到server上進行讀取數據。 聯繫的時候有兩種登陸方式, 一是windows認證,一是用戶名密碼認證。 server也可以是你本地的機器,既你自己的電腦。但一般實際應用中時遠程連接到其他伺服器上。
database 資料庫
schema 資料庫對象的合集。 這個有些難以理解,大家可以網路搜索深入理解一下。
table 表
我們在提及某一個表的時候,需要指名它所關聯的database和schema,所以應該用database.schema.table來表示某一個表。 當然這不是唯一方法,但是很常見的方法; 如果我們直接選定了某一database, 完全可以直接抽取表,不需要指定database或者schema;或者用 use database直接進入某個database等等。不過在實習應用中,規範的這麼寫可以便於閱讀檢查,也方便他人理解。
column 列 可以結合excel理解, 列就是這個表中表明某一個屬性。
row 行
可以結合excel理解, 列就是這個表中表明某一個列下的值。

我覺得知道上面的基本定義在剛接觸的時候就夠了。 其他的可以在以後的學習中逐步接觸。

下面我們聯繫ERD圖來理解資料庫
(圖是我從google上找的,用畫圖程序作了一些修改,把數據類型去掉了,加了pk,fk標註,不是標準的erd圖)

1. 上面ERD圖裡的實體有兩個,一個是Customer, 一個是CustomerAddress。 每一個實體對應資料庫里的一張表, 所以我們這個資料庫里會有兩張表一個是Customer, 一個是CustomerAddress。
2. 每一個實體下面列出的屬性對應一張表中的一個column。 所以實體Customer有屬性CustomerID, CustomerName, CustomerContact, CustomerPhone. 表Customer也需要四個column, 分別為CustomerID, CustomerName, CustomerContact, CustomerPhone.
3. 兩個實體分享一個共同的屬性叫做CustomerID。 所以表Customer和表CustomerAddress都會有相同的一個column叫CustomerID。
4. CustomerID唯一確定一個Customer, 所以是表Customer的主鍵; 同時它把兩張表聯繫起來並且出現在表CustomerAddress里,它是表CustomerAddress的外鍵。

現在就好理解了,結合erd我們可以創建database和table。 table的存在需要依附database,所以要先創建database:
CREATE DATABASE my_database
my_database是資料庫的名稱,可以更換成你想要的資料庫名稱。
然後在你的database之下創建表。 首先需要進入你上面所創建的database:
USE my_database
創建表:
CREATE TABLE customer
(
CustomerID bigint PK,
CustomerName nvarchar(250),
CustomerContact nvarchar(250),
CustomerPhone nvarchar(50)
)
表中拆入數據:
INSERT INTO customer
VALUES
( 7884000, "Zhi Hu","Phone","214-555-5555")

這個時候我們就要拓展到sql命名的規則,以及數據類型等等的概念了。後面的內容很多,但學了最基礎的,了解了邏輯關係之後就容易上手。

初學者我推薦看一個網站叫 tutorialspoint
裡面的東西很基礎很好理解,我覺得排版也不錯便於記憶,知識循序漸進的層次也蠻合適的。 這個網站有很多種語言可以學,光資料庫下就列出了21種目錄。 我推薦看SQL Tutorial

還有就是最好下載個ms sql server或其他客戶端,這樣就可以隨時查看運行結果。如果真的不想下載,可以使用sublime text,相當於可以自動識別格式的記事本。 這樣看起來一目了然。
最後只看不練看完立馬就忘,所以還是要多動手,經常複習以前學過的內容。

之後按照其他答主的方法深入學習我覺得就很好了。我寫這個主要是為了方便剛接觸的人理解學習sql的最最基本的定義和邏輯。 這個對我蠻有用的,希望對大家也有所幫助。

謝謝。


講邏輯,多練習,寫整齊和規範


flex與bison(中文版) (豆瓣)
這本書里有個sql語法解析器。
自己實現一邊,大部分語法規則都可以掌握了。


工作中實踐能很快提升SQL能力,
就個人來說,我不喜歡記憶SQL語法細節,一般寫SQL語句時,會參考下面的在線文檔 :

SQL 教程


多使用SQL,然後在適當的時間節點(使用SQL語言的時間超過3個月為佳)找一本偏理論的書來總結自己的實踐經驗。這樣就能很快掌握這門技能


這兩天開始學習SQL,上來知乎找資料,昨天才下載的MYSQL和MS SQL SERVER,從初學者的角度回答這個問題,希望有切合題主的目前需要。

關於SQL入門與提高的學習資源,包括書籍和網站,其他大佬講了很多。不過摸索的過程中我有個體會,想要learning by coding是比較麻煩的。一是沒有環境,二是沒有練手的數據。

《SQL必知必會》的附錄教我們搭建環境然後導入數據,拿來做實操的材料,但初學者可能對於安裝mysql、oracle還是sql server就感到為難。我找到的中文網站大都是教語法,好一點的有實例(原表和輸出結果),但不能給學習者自己寫代碼。

好在今早我在Google play上發現一個叫knowledify SQL的app,很適合拿來利用碎片化時間上手SQL。

和sololearn之類的編程學習app類似,它把SQL的知識點分成好幾個部分,每個知識點配有一定的練習。

和sololearn不同的是,它提供的練習不是填空和選擇,而是要學習者自己寫代碼。你不必擔心手機打字的繁瑣,它對語法(如select)和參數(如custom)都能自動補全。寫完一條查詢10秒都不用。

如果你不知道怎麼操作,右上角的幫助會給你語法提示,講解之餘還帶語法和實例。

右上角還有個按鈕可以讓你看到原表和預期結果是什麼樣子的。從什麼得出什麼,一清二楚。

原表(列數較多,須左右拖動)

預期結果

可能還有更多的功能,不過我也還沒體驗出來。目前看到的這些已經讓我很知足。

內容深度方面還不了解(例如是否涉及優化),不過進階大概有其他更好的途徑,參見其他答案。到了那種階段還是老老實實搭建環境熟悉操作界面吧。這個app的主要作用是排除萬難,讓人利用碎片化時間在成就感中快速上手。

自學編程相關的問題上,知乎這個社區幫了我不少,但願我有回饋到一些東西吧。


51CTO下載-SQL沉思錄.pdf
Foundations of Databases.pdf
MySQL開發者SQL權威指南.pdf
SQL編程風格.pdf
SQL解惑第二版中文版.pdf
The.Art.of.SQL.pdf
Transact-SQL權威指南.pdf


查詢語句是SQL語句的靈魂 DDL DCL語句強大 但使用幾率不多 。
建立一個臨時表 多種數據類型的欄位可以都加上一些 然後練習如何在這些數據里查詢和準確定位到自己想要的語句,在練習的過程當中 你就會自然而然的想去使用和找尋相關的函數和方法 這個時候你就可能會理解 什麼時候要用JOIN 什麼時候要用LEFT JOIN 什麼時候需要GROUP BY一下~
單純的找著書本上的練習也有效果 但需要反覆鞏固練習。
其實 人腦是很奇怪的 越是你需要的東西 找到的時候就越不容易忘記 不急需或者不知道什麼情況下會使用的東西 看的快 忘的也快


推薦一本書《SQL反模式》,是我在sql成長方面最有收穫的一本


下一個mysql,上網搜搜sql面試題,然後全寫出來,這就算入門了。想繼續學習可以讀讀《sql必知必會》


上學期剛上完資料庫,做了幾個很水的實驗,也算是學完了。

SQL語言國內沒有找到很好用的教材,國外的教材。。cs這邊教科書的小字英文磚頭書總是讓人讀不下去/(ㄒoㄒ)/~~

有一些國外教材的中文翻譯版,機械工業出版社的黑磚頭系列,我們課程上用的教材是資料庫系統導論,C.J.Data著。但是上面沒有詳細的SQL語法,重點是資料庫的概念之類。另外翻譯版,O__O "…不推薦就是了。

貼上資料庫岳麗華老師的課程主頁(真·乾貨):

http://staff.ustc.edu.cn/~llyue/database.html

裡面有我們課程的PPT和實驗內容,PPT做的很詳細,有不懂的地方可以到Stack Overflow上找答案,如果認真看的話最多一周就可以學完了。

-----------------------------

不知道放課程主頁這種東西對不對,如果不太好的話希望大家提醒我一下。


寫過一篇文章:HIVE 基礎介紹

對每一個在數據挖掘行業工作的人,在工作中都會時刻面對海量的數據,此時 EXCEL 處理數據的時候就會有一定的困難。此時就需要工程師使用 HIVE 語言去操作資料庫。本文從一個初學者的角度來簡要介紹一下 HIVE 和基本的使用場景,作為初學者,在整理的過程中難免會出現錯誤,希望大家多多指教。


HIVE 介紹

(1)hive 是基於 Hadoop 的一個數據倉庫工具,可以將結構化的數據文件映射為一張資料庫表,並提供完整的 sql 查詢功能,可以將 sql 語句轉換為 MapReduce 任務進行運行。其優點是學習成本低,可以通過類 SQL 語句快速實現簡單的 MapReduce 統計,不必開發專門的 MapReduce 應用,十分適合數據倉庫的統計分析。

(2)Hive 是建立在 Hadoop 上的數據倉庫基礎構架。它提供了一系列的工具,可以用來進行數據提取轉化載入(ETL),這是一種可以存儲、查詢和分析存儲在 Hadoop 中的大規模數據的機制。Hive 定義了簡單的類 SQL 查詢語言,稱為 HQL,它允許熟悉 SQL 的用戶查詢數據。同時,這個語言也允許熟悉 MapReduce 開發者的開發自定義的 mapper 和 reducer 來處理內建的 mapper 和 reducer 無法完成的複雜的分析工作。

使用 hive 的命令行介面,感覺很像操作關係資料庫,但是 hive 和關係資料庫還是有很大的不同,下面我就比較下 hive 與關係資料庫的區別,具體如下:

  1. Hive 和關係資料庫存儲文件的系統不同,Hive 使用的是 hadoop 的 HDFS(hadoop 的分散式文件系統),關係資料庫則是伺服器本地的文件系統;

  2. hive 使用的計算模型是 mapreduce,而關係資料庫則是自己設計的計算模型;

  3. 關係資料庫都是為實時查詢的業務進行設計的,而 Hive 則是為海量數據做數據挖掘設計的,實時性很差;實時性的區別導致 Hive 的應用場景和關係資料庫有很大的不同;

  4. Hive 很容易擴展自己的存儲能力和計算能力,這個是繼承 hadoop 的,而關係資料庫在這個方面要比資料庫差很多。

以上都是從宏觀的角度比較 Hive 和關係資料庫的區別,下面介紹一下在實際工作中遇到的一些常用語句和方法。


原文請看:HIVE 基礎介紹


如果只是單純的學習sql語言,可以參考MySQL的文檔http://dev.mysql.com/doc/refman/5.1/zh/,學習這個文檔對SQL的應用已經夠了。


最近再找在線的SQL練習有關的網站,推薦一個:SQL Fiddle


sql語法真沒啥好學的,看看sql標準,有空再看看DB2SQL ServerOracle的擴展就夠了。關鍵是一,遇到題目會寫出來;二,知道執行起來效率高不高,不高怎麼改。


推薦閱讀:

學習琴棋書畫會對人產生怎樣的影響?
如何開始寫英文論文?
為什麼工作以後讀書的感覺慢慢找不到了,買了好多書都讀不下來?
沒錢怎麼出國留學?
中午不午睡對身體、工作、學習有什麼弊端嗎?

TAG:學習 | 資料庫 | 如何學習X | SQL |