SQL--DML复习总结(一)
2015-02-08 21:51
176 查看
SQL--DML最常用的SQL语句就是SELECT语句了。
FROM 表名
这是SELECT最基本的用法,检索单个列。如果没有明确排序查询结果,则返回的数据的顺序没有特殊意义。返回数据的顺序可能是数据被添加到表中的顺序,也可能不是。只要返回相同数目的行,就是正常的。SELECT 列名1,列名2,...列名n
FROM 表名从一个表中检索多个列,列名之间用逗号分隔,最后一列后面不加逗号。
SQL语句一般返回原始的,无格式的数据。数据的格式化是一个表示问题,而不是一个检索问题。因此表示一般在显示该数据的应用程序中规定,一般很少使用实际检索出来的数据。
SELECT *
FROM 表名检索所有列。星号是通配符,表示所有列。一般,除非确实需要表中的每个列,否则最好别使用*通配符。检索不需要的列通常会降低检索和应用程序的性能。使用通配符有一个优点,由于不明确指定列名,所以能检索出名字未知的列。SELECT后面可以指定ALL或者不给参数(因为ALL是默认行为)
SELECT后面可以指定DISTINCT参数,表示只包含不同的值。
SELECT子句及其顺序
***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值。
TRIM()函数是去掉空格的函数。其余常见的文本处理函数如下:常用的文本处理函数
SOUNDEX()是一个将任何文本串转换为描述其语音表示的字母数字模式的算法。SOUNDEX考虑了类似的发音字符和音节,使得能对串进行发音比较而不是字母比较。例如:表中有一个顾客Michelle Green。但是如果这是输入错误的名字,实际应该是Michael Green,应该的处理方式如下:[sql] view plaincopySELECT cust_name,cust_contact
FROM Customers
WHERE SOUNDEX(cust_contact) = SOUNDEX('Michael Green');
日期和时间处理函数
数值处理函数
在主要的DBMS函数中,数值处理函数是最一致最统一的函数。常用数值处理函数
1、SELECT语句的用途是从一个或多个表中检索信息。
SELECT 列名FROM 表名
这是SELECT最基本的用法,检索单个列。如果没有明确排序查询结果,则返回的数据的顺序没有特殊意义。返回数据的顺序可能是数据被添加到表中的顺序,也可能不是。只要返回相同数目的行,就是正常的。SELECT 列名1,列名2,...列名n
FROM 表名从一个表中检索多个列,列名之间用逗号分隔,最后一列后面不加逗号。
SQL语句一般返回原始的,无格式的数据。数据的格式化是一个表示问题,而不是一个检索问题。因此表示一般在显示该数据的应用程序中规定,一般很少使用实际检索出来的数据。
SELECT *
FROM 表名检索所有列。星号是通配符,表示所有列。一般,除非确实需要表中的每个列,否则最好别使用*通配符。检索不需要的列通常会降低检索和应用程序的性能。使用通配符有一个优点,由于不明确指定列名,所以能检索出名字未知的列。SELECT后面可以指定ALL或者不给参数(因为ALL是默认行为)
SELECT后面可以指定DISTINCT参数,表示只包含不同的值。
2、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() | 将串转换为大写 |
FROM Customers
WHERE SOUNDEX(cust_contact) = SOUNDEX('Michael Green');
日期和时间处理函数
数值处理函数
在主要的DBMS函数中,数值处理函数是最一致最统一的函数。
函数 | 说明 |
ABS() | 返回一个数的绝对值 |
COS() | 返回一个角度的余弦 |
EXP() | 返回一个数的指数值 |
PI() | 返回圆周率 |
SIN() | 返回一个角度的正弦 |
SQRT() | 返回一个数的平方根 |
TAN() | 返回一个数的正切值 |
相关文章推荐
- SQL---DML---INSERT---INSERT语句总结
- SQL---DML---DELETE---DELETE语句总结(包含TRUNCATE)
- 对SQL语句的基础知识总结一(DML的增删改查)
- T-SQL复习总结--用T-SQL创建,修改,管理,删除数据库
- Oracle-SQL命令复习总结_1
- SQL复习总结
- SQL---DML---SELECT语句总结
- Oracle DML SQL语句总结
- SQL复习 总结
- 数据库复习总结(6)-SQL语句入门(脚本、命令)
- 数据库系统概论复习总结3 --- 第二章关系数据库标准语言SQL
- SQL---DML---UPDATE---UPDATE语句总结
- T-SQL复习总结--用T-SQL创建,修改,管理,删除数据库
- SQL总结(二)DML
- hibernate-查询总结、sql复习、HQL、criteria详解
- SQL总结之DML(MSSQL)
- ADO.NET复习总结(3)--参数化SQL语句--防止sql注入式攻击
- ORACLE SQL总结二:集合操作符合和DML语句
- 自己复习sql,然后总结的2种数据库类
- OCP复习 - PLSQL(11-15) -DML和对象修改SQL