熱線電話:13121318867

登錄
首頁精彩閱讀20個數據分析師必知必會的SQL查詢語句
20個數據分析師必知必會的SQL查詢語句
2022-08-15
收藏

作者:俊欣

來源:關于數據分析與可視化

作為數據分析師,每天需要花費大量的時間來分析與挖掘數據當中隱藏的信息,發現新的價值,而現在絕大多數公司都是將數據存放在Mysql數據庫當中,今天小編來分享25個針對每個數據分析初學者而言都需要掌握的SQL查詢語句。

查詢所有行的數據

這個也是最基本的SQL查詢了,假設我們有一張員工表“Employee”,當中包含了一系列員工的信息,包括薪水、所屬的國家等內容

SELECT * FROM Employee;

查詢指定行的數據

我們更進一步,想要查詢指定某一行的數據,這里我們查詢的是員工的ID、員工的姓以及員工的名,代碼如下

SELECT EmployeeID, LastName, FirstNameFROM Employee;

篩選數據

我們想要進一步地篩選數據,在SQL當中添加相對應的條件,例如想要查看國家是德國的員工,代碼如下

SELECT * FROM Employee WHERE Location = 'Germany';

多個條件來篩選數據

上面的例子當中,我們只是添加了一個條件,那要是不止只有一個條件該怎么辦呢?

SELECT * FROM EmployeeWHERE salary > 10000 AND Location = 'UK';

去重

我們有時候查詢到的數據帶有重復值,可以用DISTINCT來進行去重

SELECT DISTINCT EmployeeID,SalaryFROM Employee;

排序

排序用到的則是ORDER BY方法,例如我們想要按照員工的名來進行排序,代碼如下

SELECT EmployeeID, FirstNameFROM EmployeeORDER BY FirstName

不止一列的數據需要排序

那要是我們需要對不止一行的數據進行排序,該怎么做呢?代碼如下

SELECT EmployeeID, FirstNameFROM EmployeeORDER BY FirstName DESC,EmployeeID;

其中DESC是降序(descending)的縮寫,上面的代理邏輯是對員工的FirstName進行降序的排列,對EmployeeID這列進行升序的排列

篩選出不是空值的數據

要是我們想要篩選出不是空值的數據,例如我們針對的就是FirstName這一列的數據,代碼如下

SELECT EmployeeID, FirstNameFROM EmployeeWHERE FirstName IS NOT NULL;

通配符的魅力

通配符的作用就在于可以方便我們進行數據的篩選,例如FirstName這一列當中含有“a”的數據,

SELECT EmployeeID, FirstNameFROM EmployeeWHERE FirstName LIKE '%a%';

CONCAT()函數

concat()函數用于將兩個字符串連接起來,形成一個單一的字符串,例如我們可以將FirstNameLastName這兩列的數據給連接起來,這樣就可以每一位員工完整的姓名啦

SELECT CONCAT(FirstName, ' ', LastName)FROM Employee;

并集

要是我們將多個SQL語句查詢得到的結果集合并到一起,就要用到UNION ALL操作符了,例如我們將員工表中的“last_name”這一列和學生表中的“last_name”這一列合并到一塊顯示

SELECT last_name FROM EmployeeUNION ALLSELECT last_name FROM Student;

交集

INTERSECT操作符則是在多個SQL語句查詢得到的結果中尋找交集,代碼如下

SELECT last_name FROM EmployeeINTERSECTSELECT last_name FROM Student;

數學運算

針對是數值類型的數據,我們也可以在其中進行加減乘除的數學運算,例如

SELECT TotalSalary - GrossSalaryFROM Employee;

但是前提得是這兩列當中的數據都得是數值類型的數據,整型或者是浮點數

計算數據總共有幾行

這里用到的是COOUNT()方法,例如我們想要計算一下student_id有多少個的時候

SELECT COUNT(student_id)FROM student;

平均數

平均數的計算用到的是AVG()方法,例如計算平均工資,代碼如下

SELECT AVG(Salary)FROM Employee;

最大值

最大值用到的是MAX()方法,例如查詢一下哪位員工的工資拿的最多,代碼如下

SELECT MAX(Salary)FROM Employee;

最小值

直接上代碼吧

SELECT MIN(Salary)FROM Employee;

插入數據

要是我們想要往表格當中插入新的數據,代碼如下

INSERT INTO Employee (EmployeeID, FirstName, LastName)VALUES (‘A0001’, ‘Dom’, ‘Werler’),

更新數據

更新數據用到的是UPDATE方法,后面跟著是表名,例如我們想要將Employee表中Salary這一列的數據都改成2000,代碼如下

UPDATE Employee SET Salary = 20000;

新建一張表

例如我們想要新建一張員工表,調用的是CREATE TABLE方法,而表中的每一列需要寫清楚列名以及其數據類型,代碼如下

CREATE TABLE Employee(EmployeeID int, Firstname varchar(50));

刪除表內的所有數據

DELETE FROM Employee;

刪除某張表格

表格當中的所有數據都刪除,我們還能后續繼續往里面添加真的數據,但是要是直接將表格都刪掉,就不能執行添加新數據的操作了,因為畢竟表格都沒了,代碼如下

DROP TABLE Employee;

數據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數據分析師資訊
更多

OK
客服在線
立即咨詢
日韩人妻系列无码专区视频,先锋高清无码,无码免费视欧非,国精产品一区一区三区无码
客服在線
立即咨詢