ITPub博客

首页 > Linux操作系统 > Linux操作系统 > SQL语言入门( 3.SELECT语句)

SQL语言入门( 3.SELECT语句)

原创 Linux操作系统 作者:adonisdean 时间:2013-08-20 15:15:10 0 删除 编辑
         SELECT语句是SQL的核心,在你的SQL语句中可能用的最多的就是SELECT语句了。
         SELECT语句用于查询数据库并检索匹配你指定条件的选择数据。SELECT语句有五个主要的子句子你可以选择,而FROM是唯一必须的子句。每一个子句有大量的选择项、参数等等。这些子句将罗列在下面:
SELECT [ALL | DISTINCT] column1[,column2]   
FROM table1[,table2]                                           
[WHERE "conditions"]                                          
 [GROUP BY "column-list"]                                    
 [HAVING "conditions]                                            
  [ORDER BY "column-list" [ASC | DESC] ]   ;         
            注意:一定要在SQL语句末尾加上一个分号。这个分号提示SQL语句已经结束并准备被解释。
•SQL 语言大小写不敏感。
•SQL 可以写在一行或者多行
•关键字不能被缩写也不能分行
•各子句一般要分行写。
•使用缩进提高语句的可读性。

以下的表格给出了各种比较运算符号: 
= 等于 
> 大于 
< 小于 
>= 大于等于 
<= 小于等于 
<> 不等于 
LIKE 字符串比较测验 
举个例子:SELECT name, title, dept  FROM employee WHERE title LIKE 'Pro%';
上面的语句是从employee表中选择title是以'Pro'为开头的name、title和dept列中的所有行或者数值。
  • [ALL|DISTINCT]关键字
         ALL和DISTINCT也是SQL中的关键字,它们用于在你的查询结果中选择ALL(缺省)或者" DISTINCT "或者单一记录。DISTINCT这个关键字来过滤掉多余的重复记录只保留一条,但往往只用它来返回不重复记录的条数,而不是用它来返回不重记录的所有值.
     比如我想用一条语句查询得到name不重复的所有数据,那就必须使用distinct去掉多余的重复记录。
select distinct name from table;
  • 合计函数
所有的合计函数: 
MIN 返回一个给定列中最小的数值 
MAX 返回一个给定列中最大的数值 
SUM 返回一个给定列中所有数值的总和 
AVG 返回一个给定列中所有数值的平均值 
COUNT 返回一个给定列中所有数值的个数 
COUNT(*)  返回一个表中的行数 
         合计函数用于从SELECT语句中计算一个”返回列的数据”。它们是总结了所选数据列的结果。
下面这条语句将返回employee表的行数,如下: 
SELECT Count(*)  FROM employees; 

1.MIN(DISTINCT|ALL) 
求最小值,ALL表示对所有的值求最小值,DISTINCT表示对不同的值求最小值,相同的只取一次 
SQL> select min(all sal) from gao.table3; 

2.MAX(DISTINCT|ALL) 
求最大值,ALL表示对所有的值求最大值,DISTINCT表示对不同的值求最大值,相同的只取一次 
SQL> select max(distinct sal) from scott.emp; 

3.SUM 
功能描述:该函数计算组中表达式的累积和。 

SQL> SELECT SUM (salary) FROM employees ;

4.AVG(DISTINCT|ALL) 
all表示对所有的值求平均值,distinct只对不同的值求平均值 

SQL> select avg(distinct sal) from gao.table3; 

5.COUNT 
功能描述:对一组内发生的事情进行累积计数,如果指定*或一些非空常数,count将对所有行计数,如果指定一个表达式,count 返回表达式非空赋值的计数,当有相同值出现时,相等的值都会被纳入被计算的值;可以使用DISTINCT来记录去掉一组中完全 相同的数据后出现的行数。 

SQL> SELECT count(salary) FROM employees ;
  • GROUP BY子句 
group by 从英文里理解就是分组。必须有“聚合函数”来配合才能使用,使用时至少需要一个分组标志字段。sum()、count()、avg()等都是“聚合函数” 使用group by 的目的就是要将数据分类汇总
  • Having子句
having 子句的作用是筛选满足条件的组,即在分组之后过滤数据,条件中经常包含聚组函数,使用having 条件显示特定的组,也可以使用多个分组标准进行分组。having 子句被限制子已经在SELECT语句中定义的列和聚合表达式上。通常,你需要通过在HAVING子句中重复聚合函数表达式来引用聚合值
  • order by 子句
order by 从英文里理解就是行的排序方式,默认的为升序。 order by 后面必须列出排序的字段名,可以是多个字段名。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29093322/viewspace-768896/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2013-08-19

  • 博文量
    4
  • 访问量
    3900