成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

七個不可不知的SQL知識點(diǎn)

數(shù)據(jù)庫 其他數(shù)據(jù)庫
與其他編程語言和應(yīng)用程序的兼容性:將SQL與Python、C++、R等語言集成非常方便。它還支持商業(yè)智能和數(shù)據(jù)可視化工具,如Power BI和Tableau,使開發(fā)過程更加容易。

SQL與數(shù)據(jù)科學(xué)

SQL指的是結(jié)構(gòu)化查詢語言,旨在管理關(guān)系型數(shù)據(jù)庫。SQL在數(shù)據(jù)科學(xué)中應(yīng)用廣泛,屬于必備技能。以下列出了SQL的特點(diǎn):

  • 廣泛使用:雖然它已經(jīng)有了大約40年的歷史,但在大多數(shù)關(guān)系型數(shù)據(jù)庫系統(tǒng)中用于查詢,并已成為實(shí)驗數(shù)據(jù)的標(biāo)準(zhǔn)工具。
  • 簡化對數(shù)據(jù)的理解:SQL在瀏覽數(shù)據(jù)庫內(nèi)容時非常方便。它能讓你有效地理解細(xì)節(jié)。
  • 易于學(xué)習(xí):它是新手的完美起點(diǎn),具有簡單的類英語語法,只需幾行代碼即可提取有價值的見解。
  • 能夠處理海量數(shù)據(jù):SQL可以使你以有組織的方式管理大量數(shù)據(jù),是數(shù)據(jù)科學(xué)應(yīng)用的理想選擇。
  • 與其他編程語言和應(yīng)用程序的兼容性:將SQL與Python、C++、R等語言集成非常方便。它還支持商業(yè)智能和數(shù)據(jù)可視化工具,如Power BI和Tableau,使開發(fā)過程更加容易。

7個SQL知識點(diǎn)

1)基本命令

掌握基本命令的知識是終身學(xué)習(xí)的基礎(chǔ)。否則,你只會記憶事實(shí),而不了解它們?nèi)绾闻浜稀R韵率且恍┳畛S玫腟QL命令:

  • SELECT和FROM:從指定的表中檢索數(shù)據(jù)的屬性。
  • SELECT DISTINCT:它消除重 復(fù)的行并只顯示唯一的記錄。
  • WHERE:它過濾記錄并只顯示滿足給定條件的記錄。
  • AND、OR、NOT:當(dāng)條件不為True時不執(zhí)行查詢。而AND和OR用于應(yīng)用多個條件。
  • ORDER BY:它按升序或降序?qū)?shù)據(jù)進(jìn)行排序。
  • GROUP BY:它對相同的數(shù)據(jù)分組。
  • HAVING:對由Group By聚合的數(shù)據(jù)可以在此進(jìn)一步篩選。
  • 聚合函數(shù):聚合函數(shù),如COUNT()、MAX()、MIN()、AVG()和SUM(),用于對給定的數(shù)據(jù)執(zhí)行操作。

讓我們以Employee表為例,應(yīng)用這些命令:

ID

Name

Department

Salary ($)

Gender

1

Julia

Admin

20000

F

2

Jasmine

Admin

15000

F

3

John

IT

20000

M

4

Mark

Admin

17000

M

現(xiàn)在,我們想要獲取在Admin部門工作的女性的平均工資。

SELECT Department,
       AVG(Salary)
FROM Employees
WHERE Gender="F"
GROUP BY Department
HAVING Department = "Admin";

輸出:

Admin | 17500.0

2)Case When

Case When是SQL中一種非常強(qiáng)大和靈活的語句,用于編寫復(fù)雜的條件語句。它提供了IF.THEN.ELSE語句的功能。讓我們來看一下它的語法:

CASE expression

   WHEN value_1 THEN result_1
   WHEN value_2 THEN result_2
   ...
   WHEN value_n THEN result_n

   ELSE result

END

它按順序執(zhí)行語句,并在條件為True時返回值。如果沒有滿足條件的情況,將執(zhí)行ELSE塊,如果沒有ELSE塊,則返回NULL。

假設(shè)我們有一個學(xué)生數(shù)據(jù)庫,我們想根據(jù)他們的成績對他們進(jìn)行分級。可以使用以下SQL語句:

SELECT student_name,
       marks,
       CASE
           WHEN marks >= 85 THEN 'A'
           WHEN marks >= 75
                AND marks < 85 THEN 'B+'
           WHEN marks >= 65
                AND marks < 75 THEN 'B'
           WHEN marks >= 55
                AND marks < 65 THEN 'C'
           WHEN marks >= 45
                AND marks < 55 THEN 'D'
           ELSE 'F'
       END AS grading
FROM Students;

3)子查詢

作為一名數(shù)據(jù)科學(xué)家,子查詢的知識是必不可少的,因為他們需要處理不同的表格,并且一個查詢的結(jié)果可能會再次用于限制主查詢中的數(shù)據(jù)。它也被稱為嵌套查詢或內(nèi)部查詢。子查詢必須用括號括起來,在主查詢之前執(zhí)行。如果它返回多行,則稱為多行子查詢,并且必須使用多行運(yùn)算符。

假設(shè)保險公司推出了一項新政策,取消那些年齡超過80歲的人的保險。可以使用如下所示的子查詢完成:

DELETE
FROM INSURANCE_CUSTOMERS
WHERE AGE IN
    (SELECT AGE
     FROM INSURANCE_CUSTOMERS
     WHERE AGE > 80 );

內(nèi)部子查詢選擇了所有80歲以上的客戶,然后對該組執(zhí)行Delete操作。

4)連接

SQL連接是用于基于多個表格之間的邏輯關(guān)系將它們中的行組合在一起。SQL連接的4種類型如下所示:

  • 內(nèi)部連接(Inner Join):內(nèi)部連接僅顯示滿足給定條件的兩個表格中的行。它可以在集合術(shù)語中稱為交集。

圖片

SELECT Student.Name
FROM Student
INNER JOIN Sports ON Student.ID = Sports.ID;

它返回那些已在體育部門注冊的學(xué)生。注意:Sports ID與學(xué)生的注冊ID相同。

  • 左連接(Left Join):它返回左表格中的所有記錄,而只顯示右表格中的匹配記錄。

圖片

SELECT Student.Name
FROM Student
LEFT JOIN Sports ON Student.ID = Sports.ID;
  • 右連接(Right Join):它與左連接作用正好相反。

圖片

SELECT Student.Name
FROM Student
RIGHT JOIN Sports ON Student.ID = Sports.ID;
  • 完全連接(Full Join):它包含來自兩個表格的所有行,如果它沒有相應(yīng)的匹配條目,則顯示NULL值。

圖片

SELECT Student.Name
FROM Student
FULL JOIN Sports ON Student.ID = Sports.ID;

5)存儲過程

存儲過程允許我們在數(shù)據(jù)庫中存儲多個SQL語句以便日后使用。它提供了可重用性,還可以在調(diào)用時接受參數(shù)值。它可以增強(qiáng)性能,并且更容易進(jìn)行任何修改。

CREATE PROCEDURE SelectStudents @Major nvarchar(30),
                                       @Grade char(1) AS
SELECT *
FROM Students
WHERE Major = @Major
  AND Grade = @Grade GO;

EXEC SelectStudents @Major = 'Data Science',
                    @Grade = 'A';

此存儲過程允許我們提取不同專業(yè)的學(xué)生,并根據(jù)其成績進(jìn)行篩選。例如,我們要提取所有專業(yè)為數(shù)據(jù)科學(xué)且成績?yōu)锳的學(xué)生。請注意,CREATE PROCEDURE就像函數(shù)聲明一樣,需要使用EXEC進(jìn)行調(diào)用以便執(zhí)行。

6)字符串格式化

我們都知道原始數(shù)據(jù)需要進(jìn)行清洗,以提高整體生產(chǎn)力,從而做出高質(zhì)量的決策。字符串格式化在這種情況下起著重要作用,它涉及到對字符串的操作,以去除不相關(guān)的內(nèi)容。SQL提供了大量的字符串函數(shù)來轉(zhuǎn)換和處理字符串。其中最常用的五個函數(shù)如下:

  • CONCAT:用于將兩個或多個字符串相加。
SELECT CONCAT(Name, ' has a major of  ', Major)
FROM Students
WHERE student_Id = 37;
  • SUBSTR:返回字符串的一部分,并在其參數(shù)中提供子字符串的起始位置和長度。
SELECT student_name,admission_date,
     SUBSTR(admission_date, 4, 2) AS day
FROM Students

從admission_date中提取出來的day列將以單獨(dú)的形式出現(xiàn),。

  • TRIM:TRIM的主要作用是從字符串的開頭、結(jié)尾或兩者中刪除字符(如果指定了)。必須指定前導(dǎo)、后導(dǎo)或兩者,然后是指定要刪除的字符,再接著是要從中刪除的字符串。
SELECT age,
   TRIM(trailing ' years' FROM age)
FROM Students

它將26 years更改為26。

  • INSERT:允許我們在給定字符串中的指定位置插入字符串。必須指定要寫入的新子字符串的位置和長度。請注意,此新字符串將覆蓋先前的文本。
SELECT INSERT("OldWebsite.com", 1, 9, "NewWebsite");

它將被更新為NewWebsite.com。

  • COALESCE:主要是用使用者定義的值替換空值,這在數(shù)據(jù)科學(xué)中經(jīng)常需要。
SELECT COALESCE (NULL, NULL, 10, 'John’')

這將返回10。

7)窗口函數(shù)

窗口函數(shù)類似于聚合函數(shù),但在計算后不會使行合并為單個行。相反,行保留其各自的標(biāo)識。它們分為三個主要類別:

  • 聚合函數(shù):它從數(shù)值列中顯示聚合值,如AVG()、COUNT()、MAX()、MIN()、SUM()等。
SELECT name,
       AVG(salary) over (PARTITION BY department) 
FROM Employees;

它顯示了Employee表中不同部門的平均工資。

  • 值函數(shù):使用值窗口函數(shù)為每個分區(qū)分配一些值。一些常用的值函數(shù)有LAG()、LEAD()、FIRST_VALUE()、LAST_VALUE()和NTH_VALUE()。
SELECT 
  bank_branch, month, income,
 LAG(income,1) OVER (
  PARTITION BY bank_branch
  ORDER BY month
 ) income_next_month
FROM Bank;

我們將銀行不同分支機(jī)構(gòu)的本月收入與上月進(jìn)行比較。

  • 排名函數(shù):它們可根據(jù)預(yù)定義排序為行分配排名。ROW_NUMBER()、RANK()、DENSE_RANK()、PERCENT_RANK()、NTILE()等是其中的幾個函數(shù)。
SELECT
 product_name, price,
 RANK () OVER ( 
  ORDER BY list DESC
 ) price_hightolow
FROM Products;

使用RANK(),對產(chǎn)品進(jìn)行基于價格的排名。

結(jié)論

通過閱讀本文能全面了解作為數(shù)據(jù)科學(xué)家需要了解多少SQL基本知識。如果想更深入地了解這些概念,以下是一些資源可供參考:

【SQLServertutorial】:https://www.sqlservertutorial.net/

【TutorialsPoint】:https://www.sqlservertutorial.net/

【W(wǎng)3Schools】:https://www.w3schools.com/sql/

責(zé)任編輯:武曉燕 來源: Python學(xué)研大本營
相關(guān)推薦

2023-09-20 09:00:00

2023-11-13 14:19:57

Golang編程語言

2023-06-15 11:01:43

Java工具開源

2023-09-27 18:02:31

2023-09-08 10:23:13

JavaScriptNPM模塊

2023-10-17 18:03:30

Code更改函數(shù)

2023-09-22 12:14:33

2009-07-22 17:21:00

2024-03-21 08:57:39

語言軟件開發(fā)

2010-06-11 14:46:38

可路由協(xié)議

2021-08-12 16:02:22

Jupyter NotPython命令

2020-11-30 13:12:04

Linux文本命令

2015-01-15 09:34:28

2010-12-17 11:22:11

職場

2015-06-10 10:56:50

iOS開發(fā)技巧

2015-07-28 16:48:04

云計算性能測試云服務(wù)

2024-09-23 21:05:45

2010-10-27 10:39:44

求職

2014-06-20 14:35:48

浪潮數(shù)據(jù)

2019-08-18 23:10:14

數(shù)據(jù)科學(xué)算法數(shù)學(xué)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 久久成人亚洲 | 久久久久久久久久影视 | 毛片网站免费观看 | 国产资源在线播放 | 久久精品黄色 | 国产美女视频 | 精品视频一区二区三区 | 91久久精品 | 国产精品一级 | 中文字幕在线不卡 | 国产免费福利在线 | 日本黄色免费大片 | 久久综合婷婷 | 日韩av一二三区 | 日韩精品一区二区三区中文在线 | 99亚洲精品 | 亚洲精品视频网站在线观看 | 91久久久久久久久久久久久 | 国产一区在线看 | 日韩av第一页 | 91在线免费视频 | 日韩av一区二区在线观看 | 成年免费大片黄在线观看一级 | 欧美精品一区二区三区蜜桃视频 | 久久综合狠狠综合久久 | 香蕉久久网 | 夜夜爽99久久国产综合精品女不卡 | 久久亚洲精品久久国产一区二区 | 亚洲国产精品一区在线观看 | 久久国产精品-国产精品 | 亚洲精品一区二区三区在线观看 | 国产精品久久久久久久久久久久久 | 狠狠草视频 | 国产一级毛片精品完整视频版 | 国产精品久久久久久 | 国产精品中文字幕在线播放 | 亚洲精品视频网站在线观看 | 日本小电影在线 | 国产九九精品 | 日韩av手机在线观看 | 色婷婷亚洲一区二区三区 |