標籤:

SQL初次練習

SQL初次練習

4 人贊了文章

SQLZOO網站練習

select查詢語句:

第一道題

SELECT name, population

FROM world

WHERE population BETWEEN 1000000 AND 1250000

2、

3、選擇代碼以顯示以「A」或「L」 結束的國家

SELECT name FROM world

WHERE name LIKE %A OR name LIKE %L

4、

5、

6、選擇代碼以顯示面積大於50000,人口少過1000萬(10000000)的國家。

SELECT name, area, population

FROM world

WHERE area > 50000 AND population < 10000000

7、選擇代碼以顯示中國,澳大利亞,奈及利亞和法國的人口密度。

SELECT name, population/area

FROM world

WHERE name IN (China, Nigeria, France, Australia)

8、選擇代碼找出以U開頭的國家名稱。

SELECT name

FROM world

WHERE name LIKE U%

9、選擇代碼以顯示英國United Kingdom的人口。

SELECT population

FROM world

WHERE name = United Kingdom

10、這個SQL代碼有什麼錯處。預計結果應該是含France的單列。

SELECT continent

FROM world

WHERE name = France

答:name 應該是 name

11、選擇你會從這個代碼獲得的結果。

SELECT name, population / 10

FROM world

WHERE population < 10000

答案

12、選擇代碼以顯示在歐洲和亞洲的國家的名稱和人口。

SELECT name, population

FROM world

WHERE continent IN (Europe, Asia)

13、選擇代碼,結果只有兩列。

SELECT name FROM world

WHERE name IN (Cuba, Togo)

14、選擇你會從這個代碼獲得的結果。

SELECT name FROM world

WHERE continent = South America

AND population > 40000000

答案

第三道題

15、選擇代碼以顯示以C開頭,並以n結束獲獎者的名字。

SELECT winner FROM nobel

WHERE winner LIKE C% AND winner LIKE %n

16、選擇代碼以顯示1950年到1960年間有多少個化學獎。

SELECT COUNT(subject) FROM nobel

WHERE subject = Chemistry

AND yr BETWEEN 1950 and 1960

17、選擇代碼以顯示有多少年沒有頒發醫學獎。

SELECT COUNT(DISTINCT yr) FROM nobel

WHERE yr NOT IN (SELECT DISTINCT yr FROM nobel WHERE subject = Medicine)

18、選擇你會從這個代碼獲得的結果。

SELECT subject, winner FROM nobel WHERE winner LIKE Sir% AND yr LIKE 196%

答案

19、選擇代碼以顯示哪一年沒有頒發物理獎,亦沒有頒發化學獎。

SELECT yr FROM nobel

WHERE yr NOT IN(SELECT yr

FROM nobel

WHERE subject IN (Chemistry,Physics))

20、選擇代碼以顯示哪一年有頒發醫學獎,但沒有頒發和平或文學獎。

SELECT DISTINCT yr

FROM nobel

WHERE subject=Medicine

AND yr NOT IN(SELECT yr FROM nobel

WHERE subject=Literature)

AND yr NOT IN (SELECT yr FROM nobel

WHERE subject=Peace)

21、選擇你會從這個代碼獲得的結果。

SELECT subject, COUNT(subject)

FROM nobel

WHERE yr =1960

GROUP BY subject

答案

以上三道題為初次練習SQL所做試題,其餘題目還有很多,我也會慢慢全部做完。SQL是必須具備的技能之一,有必要花時間熟練掌握。進入工作之後,學習全部靠自學,沒人在乎你會不會,而是只看結果,因此學習的過程一定要堅持下來而且要轉化到實際應用中去。

作業練習:(Navicat for MySQL)

數據分析師招聘情況,數據來源,猴子先生。導入方法:原文件是CSV格式,直接右鍵另存為UTF-8格式

然後導入嚮導里選擇CSV格式,一直下一步即可。

導入結果如下(注意導入之前一定要先把數據清洗完畢)

分析之前需要明確目的:

1、各城市的數據分析師招聘情況差異。

注意不能選取關鍵欄位,因此我在城市列前又加了一列

輸出結果

根據結果,我們可以看出,北京的招聘數量大約是二、三、四、五名之和,而且前五名是典型的一線城市。由此我們可以說,一線城市的數據分析師需求是較大的,這其中以北京需求最高。

2、各城市的招聘待遇如何

輸出結果

根據結果來看,一線城市給的薪水普遍較高,均超過10K,其他城市略低,這也符合我們對一線城市待遇好的認知。

3、待遇和公司規模之間是否有關係

代碼和上圖一樣,只是替換了欄位

很明顯,公司規模越大,對數據分析師的重視越高,待遇越好。果然還是要去大公司啊 。

4、工作經驗和待遇之間是否有關係

代碼依然如上,只是替換欄位

從圖中可以得出,隨著經驗的積累,待遇是會逐漸上升的。

本次分析較為簡單,是我第一次用SQL進行分析的練習。但一來數據分析師的職位前景給了我希望,二來數據分析工具的逐漸熟悉又不斷促使我前行。我也知道,工具再好也是輔助,關鍵核心還在於人,加強分析思維,提升商業敏感,深入行業研究,隨著時間的推移,終究會成功。

還是那句話,不僅要想,更要敢做,邁出第一步,後面的路就沒有那麼難了。


推薦閱讀:

MySQL InnoDB Recovery過程解析
Mysql常用操作總結(下)
見識一下mysql cpu密集型的機器
mysql資料庫基礎操作大全(小白必看)
初識redis及其安裝使用

TAG:MySQL |