您的位置:首页 > 数据库

SQL--DML复习总结(一)

2015-02-08 21:51 176 查看
SQL--DML最常用的SQL语句就是SELECT语句了。

1、SELECT语句的用途是从一个或多个表中检索信息。

SELECT 列名
FROM 表名
这是SELECT最基本的用法,检索单个列。如果没有明确排序查询结果,则返回的数据的顺序没有特殊意义。返回数据的顺序可能是数据被添加到表中的顺序,也可能不是。只要返回相同数目的行,就是正常的。SELECT 列名1,列名2,...列名n
FROM 表名从一个表中检索多个列,列名之间用逗号分隔,最后一列后面不加逗号。
SQL语句一般返回原始的,无格式的数据。数据的格式化是一个表示问题,而不是一个检索问题。因此表示一般在显示该数据的应用程序中规定,一般很少使用实际检索出来的数据。
SELECT *
FROM 表名检索所有列。星号是通配符,表示所有列。一般,除非确实需要表中的每个列,否则最好别使用*通配符。检索不需要的列通常会降低检索和应用程序的性能。使用通配符有一个优点,由于不明确指定列名,所以能检索出名字未知的列。SELECT后面可以指定ALL或者不给参数(因为ALL是默认行为)
SELECT后面可以指定DISTINCT参数,表示只包含不同的值。

2、SELECT子句及其顺序

从上往下依次是子句从前往后的顺序:SELECT子句及其顺序
子句说明是否必须使用
SELECT要返回的列或表达式
FROM从中检索数据的表仅在从表选择数据时使用
WHERE行级过滤
GROUP BY分组说明仅在按组计算聚集时使用
H***ING组级过滤
ORDER BY输出排序顺序

3、聚集(组)函数:运行在行组上,计算和返回单个值的函数。

***G()
***G()通过对表中行数计数并计算特定行值之和,求得该行的平均值。忽略NULL的行。例:返回所有产品的平均值[sql] view plaincopySELECT ***G(prod_price) AS avg_price
FROM Products;

***G()也可以用来确定特定行或列的平均值。一般加上 WHERE语句进行过滤。例:[sql] view plaincopySELECT ***G(prod_price) AS avg_price
FROM Products
WHERE vend_id = 'DLL01';
COUNT()
COUNT()函数用来计数,主要有两种方式:使用COUNT(*)对表中行的数目进行计数,不管表列中包含的是空值 (NULL)还是非空值;
使用COUNT(column)对特定列中具有值的行进行计数,忽略NULL值。
例:[sql] view plaincopySELECT COUNT(*) AS num_cust
FROM Customers;

在这个例子里,对所有行计数,不管行中各列有什么值。例:[sql] view plaincopySELECT COUNT(cust_email) AS num_cust
FROM Customers;

这个例子只对具有电子邮件地址的客户计数。MAX()
MAX()返回指定列中的最大值。要求指定列名。对于数值数据,返回最大值,对于非数值数据,如果按相应的列排序,则返回最后一行。忽略NULL值。MIN()
MIN()返回指定列中的最小值。要求指定列名。对于数值数据,返回最小值,对于非数值数据,如果按相应的列排序,则返回最前面一行。
忽略 NULL值。SUM()
SUM()用来返回指定列值的和(总计)。忽略NULL值。

4、使用数据处理函数UPPER(),SOUNDEX(),ABS()等

与几乎所有DBMS都等同地支持SQL语句 (如SELECT)不同,每一个DBMS都有特定的函数。事实上,只有少数几个函数被所有主要的DBMS等同地支持。可见,与SQL语句不同,SQL函数不是可移植的。如果决定使用函数,应该保证做好代码注释,以便以后可以确切地知道所编写SQL代码的含义。大多数SQL实现支持以下类型的函数:文本处理函数
TRIM()函数是去掉空格的函数。其余常见的文本处理函数如下:常用的文本处理函数
函数说明
LEFT()或使用子字符串函数返回串左边的字符
LENGTH()也使用DATALENGTH()或LEN()返回串的长度
LOWER()将串转换为小写
LTRIM()去掉串左边的空格
RIGHT()返回串右边的字符
RTRIM()去掉串右边的空格
SOUNDEX()返回串SOUNDEX值
UPPER()将串转换为大写
SOUNDEX()是一个将任何文本串转换为描述其语音表示的字母数字模式的算法。SOUNDEX考虑了类似的发音字符和音节,使得能对串进行发音比较而不是字母比较。例如:表中有一个顾客Michelle Green。但是如果这是输入错误的名字,实际应该是Michael Green,应该的处理方式如下:[sql] view plaincopySELECT cust_name,cust_contact
FROM Customers
WHERE SOUNDEX(cust_contact) = SOUNDEX('Michael Green');
日期和时间处理函数
数值处理函数
在主要的DBMS函数中,数值处理函数是最一致最统一的函数。常用数值处理函数
函数说明
ABS()返回一个数的绝对值
COS()返回一个角度的余弦
EXP()返回一个数的指数值
PI()返回圆周率
SIN()返回一个角度的正弦
SQRT()返回一个数的平方根
TAN()返回一个数的正切值
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: