10个必须掌握的SQL常用语句

这篇具有很好参考价值的文章主要介绍了10个必须掌握的SQL常用语句。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

世界上70%的相关性数据可以被储存为表格数据,即类似Excel,Csv类型的数据,如何去查询和分析相关性的数据?对于少量数据,我们可以使用Excel,更多一点数据,我们可以使用Python, pandas 处理大数据 ;那么亿万条数据,我们此时就需要借助 SQL,那么掌握常用的 SQL 需要对处理大型数据非常必要。

下面我将介绍10SQL中常用的分析技巧,供大家学习参考。

1 SELECT all columns with LIMIT

一般,我们需要了解数据的大概,那么我们一般会选择前5行进行打印,看看具体内容包括哪些!SELECT 命令会选择所有的行、列,全部进行打印时,浪费时间、电脑内存,Limit命令可以查看数据中的前几行。

SELECT * FROM Customers LIMIT 3;

10个必须掌握的SQL常用语句

 Limit在MySQL这种可以正常工作,在其他的SQL中可能需要使用TOP, FETCH FIRST ROWS ONLY

2 WHERE clause

WHERE可以对特定列的值进行过滤。例如,我们过滤来自西班牙的国家,并且返回对应的城市。

SELECT City 

FROM Customers

WHERE Country = "Spain";

10个必须掌握的SQL常用语句

 我们也可以对城市进行 Unique

SELECT DISTINCT City 

FROM Customers

WHERE Country = "Spain";

10个必须掌握的SQL常用语句

 3 GROUP BY and HAVING clause

当我们想要对数据中相同观测值进行分组时,我们可以使用 GROUP BY, HAVING 可以用来过滤加总的数据,常用的包括 sumcount

HAVING 用来处理加总数据,而WHERE用来处理非加总数据。

我们有世界各国的数据,想要输出人口大于500,000,000的洲:

SELECT continent, SUM(population)

FROM world

GROUP BY continent

HAVING SUM(population)>500000000.  --filter the aggregated values

10个必须掌握的SQL常用语句

 文章来源地址https://www.toymoban.com/news/detail-427541.html

4 Order By clause

Order By 将数据按照选择的列进行升序或者排列:

将选择的数据按照人口降序排列:

SELECT name, population

FROM world

WHERE population > 200000000

ORDER BY population DESC;

10个必须掌握的SQL常用语句

 

5 Date Function

时间处理函数依赖于SQL的内核,不同SQL的时间处理函数有所差异,DATEPART 可以提取时间中的年月日。

提取时间中的年、月:

SELECT whn,

DATEPART(YEAR, whn) AS yr,

DATEPART(MONTH, whn) AS mnth

FROM eclipse

10个必须掌握的SQL常用语句

 

6 Joins

Joins 包括笛卡尔积、内积、外积、Self Join,接下来我们将介绍 Innerleft join right join

10个必须掌握的SQL常用语句

 

inner

inner 可以输出两个表或者更多表中共同的行,类似数学中的韦恩图,取两个集合的交集。

当我们取两个集合共同id, 并且仅仅输出前五行:

SELECT Orders.OrderID, Customers.CustomerName

FROM Orders

INNER JOIN Customers

ON Orders.CustomerID = Customers.CustomerID

LIMIT 5; 

10个必须掌握的SQL常用语句

 

10个必须掌握的SQL常用语句

 

left join

left join 仅仅输出左边表中的所有行,输出结果中右边表不存在的值为Null

左连表, 按照 Customers.CustomerName进行升序排列:

SELECT Customers.CustomerName, Orders.OrderID

FROM Customers

LEFT JOIN Orders

ON Customers.CustomerID=Orders.CustomerID

ORDER BY Customers.CustomerName

LIMIT 5;

10个必须掌握的SQL常用语句

 10个必须掌握的SQL常用语句

 right join

右连表与左连表相反,返回右表中的所有行,左表不存在的行将填充Null值。

SELECT Orders.OrderID, Employees.LastName, Employees.FirstName

FROM Orders

RIGHT JOIN Employees

ON Orders.EmployeeID = Employees.EmployeeID

ORDER BY Orders.OrderID; 

10个必须掌握的SQL常用语句

 

7 Case When clause

Case When 可以让我们根据现有的数据生成一些新的列,类似于PythonExce中的if-else语法。

例如,基于国家人口数据,生成新列population_bucket:

SELECT name, population

      ,CASE WHEN population<1000000 THEN 'small'

            WHEN population<10000000 THEN 'medium'

            ELSE 'large'         --ELSE is executed if no condition is satisfied

      END as population_bucket   --name of the new column

FROM world

10个必须掌握的SQL常用语句

 Remark: 没有else时,对应的输出将为 Null

8 Subqueries

子查询在SQL中尤为重要,一旦我们领悟,我们将读懂更为复杂的SQL语句。

例如,输出人口大于俄罗斯的国家的名字:

SELECT name FROM world

WHERE population >

(SELECT population FROM world

WHERE name='Russia')

9 Window function

窗口函数包括以下三种:

加总函数(Aggregate functions):SUM, AVG, MAX, MIN

排序函数(Ranking functions):RANK, ROW_NUMBER

分析函数(Analytic functions):LEAD, LED

另外,我们可以使用Over 语句去定义这些窗口函数,Over 语句和 PARTITION BY 常常联合使用。

例如,对每年每个党派的投票按照降序排列:

SELECT yr,party, votes,

RANK() OVER (PARTITION BY yr ORDER BY votes DESC) as posn

FROM ge

WHERE constituency = 'S14000021'

ORDER BY party,yr

10个必须掌握的SQL常用语句

 

10 Union

Union 常常用来竖直方向组合多个数据集,输入的数据应该具有以下两个特征:

列的的名字和数量是形同的

每列的数据类型是相同的

SELECT DISTINCT City

FROM 

(SELECT City FROM Customers

UNION

SELECT City FROM Suppliers)

LIMIT 5;

例如,组合消费者和供应者所在的城市:

10个必须掌握的SQL常用语句

 

                                                                  END

到了这里,关于10个必须掌握的SQL常用语句的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Web3.0的由来:10分钟看未来,必须掌握的吹牛知识

    全文3046字,阅读约需要 10 分钟 2022年10月18日,周星驰在社交平台发布一条招聘信息。一共两张照片,一张是周星驰在白板前写着“请人”二字,另一张是招人启事,人才要求: 熟悉Web3 、有项目管理经验、有头脑又宅心仁厚。 周星驰的Web3招聘信息 这个消息在网络上以传播

    2024年02月06日
    浏览(33)
  • 这10个Lambda表达式必须掌握,简化你的代码,提高生产力

    Lambda 表达式(lambda expression)是一个匿名函数 ,Lambda表达式基于数学中的λ演算得名,直接对应于其中的lambda抽象(lambda abstraction),是一个匿名函数,即没有函数名的函数。 Lambda表达式可以表示闭包,和传统数学上的意义有区别。 文末有本文重点总结,关于技术类问题可

    2024年02月05日
    浏览(29)
  • SQL世界之命令语句Ⅴ

    目录 一、SQL CREATE INDEX 语句 1.SQL CREATE INDEX 语句 2.SQL CREATE INDEX 语法 3.SQL CREATE UNIQUE INDEX 语法 4.SQL CREATE INDEX 实例 二、SQL 撤销索引、表以及数据库 1.SQL DROP INDEX 语句 2.SQL DROP TABLE 语句 3.SQL DROP DATABASE 语句 4.SQL TRUNCATE TABLE 语句 三、SQL ALTER TABLE 语句 1.ALTER TABLE 语句 2.SQL ALTER TAB

    2024年02月20日
    浏览(18)
  • SQL世界之函数+语句(九,十)

    目录 一、SQL 函数 1.函数的语法 2.函数的类型 1.合计函数(Aggregate functions) 2.Scalar 函数 二、SQL AVG 函数 1.AVG 函数 2.SQL AVG() 语法 3.SQL AVG() 实例 三、SQL COUNT() 函数 1.COUNT() 函数 2.SQL COUNT() 语法 3.SQL COUNT(column_name) 实例 4.SQL COUNT(*) 实例 5.SQL COUNT(DISTINCT column_name) 实例 四、SQL FIRS

    2024年02月20日
    浏览(25)
  • win10安装安卓子系统android13肯定成功补充说明Win1022H2安装WSA安卓子系统部署失败0x80073CF3无法进行更新、相关性或冲突验证Xaml.2.8解决方案

    说明:该文章为我之前的文章的一个补充说明,也是由于最近系统出了问题后,进行了更新到Win10最新系统后,出现的一些问题,并做了以下的一些记录: 这里呢,我是昨天重新下载并更新了系统为22H2,所以,我还在用之前的安卓子系统时,出现了问题,无法部署成功,“部

    2024年02月20日
    浏览(39)
  • SQL语句执行顺序相关问题

    注意本文是SQL执行顺序,不是MySQL Server内部执行流程。 MySQL并非像PostgreSQL(被认为是最接近 SQL 标准的数据库之一)一样严格按照SQL标准,MySQL执行引擎会根据查询的具体情况和优化策略来决定具体的执行顺序,所以SQL执行顺序是理论顺序。 select...from...join...on...where...group

    2024年02月19日
    浏览(34)
  • MyBatis中相关SQL语句

    1.between... and... 2.and   or 3.like ---两种写法 完整示例:   前端传入cust_no为1019,后端实际查询语句 注意:由于一开始where语句只写了 if test=\\\"reportRule != null没有写reportRule != \\\'\\\'\\\" ,导致查询结果出错,所以我们如果用到动态查询的话,一定要搞清楚前端传的是空值还是null值,如

    2024年02月12日
    浏览(28)
  • 什么是SQL 语句中相关子查询与非相关子查询

    要理解相关子查询和非相关子查询,我们得首先理解什么是子查询,子查询是指在一个查询语句中嵌套的另一个查询语句。 子查询可以嵌套在其他查询语句中,如 SELECT 、 INSERT 、 UPDATE 、 DELETE 等,它作为一个独立的查询单元,其结果可以被外部查询所使用。 子查询可以帮助

    2024年04月28日
    浏览(24)
  • 【hive】相关性函数进行相关性分析

    在Hive SQL中,使用类似的相关性函数进行相关性分析。常见的相关性函数包括CORR、COVAR_POP、COVAR_SAMP、STDDEV_POP、STDDEV_SAMP等。 举个例子,假设有一个表格sales,其中包含两列数据 sales_amt 和 advertising_amt ,我们可以使用CORR函数来计算这两列数据的相关性: 这将返回一个值,表示

    2024年02月21日
    浏览(33)
  • SQL常用语句

    清空共享内存 :alter system flush shared_pool 下面的SQL查询占用share pool 内存大于10m的sql; select substr(sql_text,1,100) \\\"stmt\\\",count(*) ,sum(sharable_mem),sum(users_opening),sum(executions) from v$sql group by substr(sql_text,1,100) having sum(sharable_mem)10000000; 查询share pool的空闲内存; select a.* ,round(a.bytes/1024/1024,2

    2024年02月19日
    浏览(8)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包