SQL基本查询

  简单的SQL查询一般是单关系查询,也就是在一个表内查询。这里面大概可以分为选择查询,投影查询。SQL语句一般不区分大小写,但为了SQL关键词和其它元素有所区分,一般将SQL关键词大写。

  投影查询:从表中选取任意个列,其对应的一般SQL语句为:

 

SELECT <列名1>,<列名2>,.....,<列名n>
FROM <表名>

 

  如果是从表中选取所有的列,那么SQL语句可以简化为:

SELECT *
FROM <表名>

   条件查询:在投影查询的基础上,对列中的元素进行筛选。因为要加入条件,SELECT和FROM两个关键字显然不能满足需求,需要引入新的关键字WHERE,条件查询的一般形式为:

SELECT <列名1>,<列名2>,......,<列名n>
FROM <表名>
WHERE <条件表达式>

  从形式上看,条件查询比投影查询多了一个WHERE语句。

  对查询结果进行排序,当我们需要对查询结果排序的时候,就需要用到OEDER BY子句,一个完整的条件查询并排序的语句为:

SELECT <列名1>,<列名2>,......,<列名n>
FROM <表名>
WHERE <条件表达式>
ORDER BY <列名>

  因为排序往往是针对某一列的数据而言,所以ORDER BY子句后面一般是某个列名。

  聚集查询:直白点说,是将SQL提供的聚集函数作用于查询结果。其实就是为了获取查询结果的一些统计量,恰如均值,最值,和值,结果的数量。

  SQL提供了五个固有聚集函数:

  平均值:AVG

  最大值:MAX

  最小值:MIN

  总和:SUM

  计数:COUNT

  如果我们想知道一共有多少行数据,对应的SQL语句为:

 

SELECT COUNT(*)
FROM <表名>

  

  如果我们想知道某一列数据的均值,对应的SQL语句为:

 

SELECT AVG(<列名>)
FROM <表名>

  

  如果我们想要知道结果的某一统计量,一般只需要在SELECT后面对应的列名填入对应的聚集函数。

  分组聚集:有时候,我们需要对查询的结果进行分组,显而易见,分组需要一定的依据,即根据某一列的数据进行分组。这个时候,需要用到GROUP BY子句,其一般形式为:

SELECT <列名>,若干聚集函数
FROM <表名>
WHERE <条件表达式>
GROUP BY <列名>

  当SQL查询使用分组时,一个很重要的事情就是,出现在SELECT语句中单没有被聚集的列名必须出现在GROUP BY子句中,换句话说,任何没有出现在GROUP BY中的列名如果出现在SELECT语句中的话,只能在聚集函数内部。

posted @ 2019-12-04 22:45  陌小路  阅读(372)  评论(0编辑  收藏  举报