【转】SQL 常用关键字释义和用法

转自http://blog.csdn.net/iamwangch/article/details/8093933

下面 是 从网络上整理 出来的 SQL 关键字和 常用函数的 释义和简单用法。

1.1 SELECT

SELECT 语句用于从表中选取数据。
结果被存储在一个结果表中(称为结果集)。

语法:

view plain

  1. SELECT 列名 FROM 表名

view plain

  1. SELECT * FROM 表名

view plain

  1. eg:select * from table_a;

1.1.1 DISTINCT

去除查询的结果集中去掉相同行的内容,留下不同的内容。

语法:

view plain

  1. SELECT DISTINCT(列名) FROM 表名

view plain

  1. select distinct(id) from table_a;

1.1.2 TOP

TOP子句用于规定要返回的记录数目。但并不是所有的数据库都支持该子句,比如MySql中就是用 LIMIT。

SQL Server语法:

view plain

  1. SELECT TOP 数字|percent 列名 FROM 表名

view plain

  1. eg: select top 3 * from table_a --查找表中的前3条数据

view plain

  1. eg:select top 30 percent from table_a --查找表中的前30%数据

MySql 语法:

view plain

  1. SELECT 列名 FROM 表名 LIMIT 条数

view plain

  1. eg: select * from table_a LIMIT 40--查询前40条数据

Oracle语法:

view plain

  1. SELECT 列名 FROM 表名 WHERE ROWNUM <=条数

view plain

  1. eg:select * from table_a where rownnum <=5 --读取表中前5行数据

1.1.3 LIKE

LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。

  • like 语句常常与 SQL通配符一起使用:
  • % :替代一个或多个字符
  • _:替代一个字符
  • [charlist]:字符列表中任何一字符
  • [~charlist]:
  • 或[!charlist]:不存在字符列表中任意字符
语法:

view plain

  1. SELECT 列名 FROM 表名 WHERE 列名 LIKE 判断方式

view plain

  1. eg: select * from table_a where value like ‘%123‘ --查找 表中 value 值 以123作结尾的项

view plain

  1. eg: select * from table_a where value like ‘123_‘ -- 查找表中 值以123开头的,长度为4的所有项

view plain

  1. eg: select * from table_a where value like ‘[ABC]%‘ --查询表中值以A,,B,C任意字符开头的项

view plain

  1. eg: select * from table_a where value like ‘[!ABC]%‘ --查询表中值不以A,,B,C任意字符开头的项

1.2 INSERT INTO

INSERT INTO 像表格中插入新的行

语法:

view plain

  1. INSERT INTO 表名 VALUES(值1,值2);

view plain

  1. INSERT INTO 表名(列名1,列名2)values(值1,值2);

1.3 UPDATE

update修改表中的数据

语法:

view plain

  1. UPDATE 表名 SET 列名= 新值 WHERE 逻辑判断

view plain

  1. eg: update table_a set value=‘123‘ where id=1;

1.3 DELETE

delete用于删除表中的行 
语法:

view plain

  1. DELETE FROM 表名 WHERE 逻辑判断

view plain

  1. eg: DELETE table_a WHERE id = 1

2. 1 WHERE

对要进行操作的表进行条件的判定补充(整删改查)。 
语法:

view plain

  1. [SELECT][DELETE][UPDATE] 表 WHERE 运算符判定

view plain

  1. eg: select * from table_b where id=1

2.1.1  AND 和 OR 运算符

AND 和 OR 可在 WHERE 子语句中把两个或多个条件结合起来。

如果第一个条件和第二个条件都成立,则 AND 运算符显示一条记录。

如果第一个条件和第二个条件中只要有一个成立,则 OR 运算符显示一条记录。

语法:

view plain

  1. [SELECT][UPDATE][DELETE] 表 WHERE 逻辑表达 [AND][OR] 逻辑表达上

view plain

  1. eg:select * from table_a where id=1 AND value=‘wangch‘;

view plain

  1. eg:select * from table_a where id=1 or value=‘wangch‘;

2.1.2 ORDER BY

ORDER BY 语句用于根据指定的列对结果集进行排序。

ORDER BY 语句默认按照升序对记录进行排序。

  • DESC:按降序进行排列(默认)。
  • ASC:按升序进行排列。
语法:

view plain

  1. SELECT 列名 FROM 表名 ORDER BY 列名 [DESC][ASC]

view plain

  1. eg:select * from table_a order by id desc

2.1.3 IN

IN操作符允许我们在WHERE 子句中规定多个值

语法:

view plain

  1. SELECT 列名 FROM 表名 WHERE 列名 IN(值1,值2,值3)

view plain

  1. eg: select * from table_a where id in (1,2,3) -- 查询 表中id 分别为 1,2,3的结果

2.1.4 BETWEEN ...AND...

BETWEEN AND 会选取介于2个值之间的数据范围。

  • 数值
  • 文本
  • 日期

3.1 别名

在做查询操作的时候,可以给查询的数据库指定一个别名(Alias),以方便在后边书写其他逻辑判断

表别名语法:

view plain

  1. SELECT 列名 FROM 表名 AS 别名

列别名语法:

view plain

  1. SELECT 列名 AS 列别名 FROM 表名

不做别名查找:

view plain

  1. SELECT Product_Orders.OrderID, Persons.LastName, Persons.FirstName

view plain

  1. FROM Persons, Product_Orders

view plain

  1. WHERE Persons.LastName=‘Adams‘ AND Persons.FirstName=‘John‘

做别名查找:

view plain

  1. SELECT po.OrderID, p.LastName, p.FirstName

view plain

  1. FROM Persons AS p, Product_Orders AS po

view plain

  1. WHERE p.LastName=‘Adams‘ AND p.FirstName=‘John‘

可以看出 使用别名可以使语句更简洁和易于阅读。

3.2 with

with 常常与as 连用,将查询到的结果暂时存储到一张虚表当中,然后再做操作。

语法:

view plain

  1. with  虚表名 as (数据查询结果);

view plain

  1. eg: with a as (SELECT * FROM table_a);
  2. select * from a

3.2 JOIN

各个表可能由于某种约束(外键等)而相关,JOIN可以根据这些关系,实现表的结合查询。

有时为了得到完整的结果,我们需要从两个或更多的表中获取结果。

我们就需要执行 join。数据库中的表可通过键将彼此联系起来。

主键(Primary Key)是一个列,在这个列中的每一行的值都是唯一的。

在表中,每个主键的值都是唯一的。这样做的目的是在不重复每个表中的所有数据的情况下,把表间的数据交叉捆绑在一起。

语法:

view plain

  1. SELECT  列名 FROM 表名A JOIN 表名B ON 条件

其中如果不实用JOIN查询操作SQL语句如下的话:

view plain

  1. SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo

view plain

  1. FROM Persons, Orders

view plain

  1. WHERE Persons.Id_P = Orders.Id_P

使用JOIN查询SQL语句如下:

view plain

  1. SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo

view plain

  1. FROM Persons

view plain

  1. INNER JOIN Orders

view plain

  1. ON Persons.Id_P = Orders.Id_P

其中 具有不同的SQL JOIN 方式

  • JOIN | INNER JOIN: 如果表中有至少一个匹配,则返回行      内连接
  • LEFT JOIN: 即使右表中没有匹配,也从左表返回所有的行       左连接
  • RIGHT JOIN: 即使左表中没有匹配,也从右表返回所有的行     右连接
  • FULL JOIN: 只要其中一个表中存在匹配,就返回行                全连接

3.3 UNION

union 用户合并多个SELECT 的查询结果集。

请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。

语法:

view plain

  1. SELECT column_name(s) FROM table_name1

view plain

  1. UNION

view plain

  1. SELECT column_name(s) FROM table_name2

UNION 默认省略相同的值,如果不需要省略,请用UNION ALL。

3.3 SELECT INTO

SELECT INTO 语句从一个表中选取数据,然后插入到另外一个表中。

语法:

view plain

  1. SELECT 列名 INTO 新表名 FROM 旧表 WHERE 逻辑判断

注意MySql 中不支持 SELECT INTO 字句!

替换用法为 INSERT INTO

比如 2个相同结构表A,B中B的数据插入A的数据 可以这样写

view plain

  1. INSERT INTO A SELECT * FROM B WHERE ...

将制定字段插入新表

view plain

  1. INSERT INTO A(key,value) select key,value from B WHERE ...

4.1 GROUP BY

GROUP BY语句用于结合统计函数,根据一个或多个列结果集进行分组。

语法:

view plain

  1. SELECT 列名|function(列名) FROM 表名

view plain

  1. GROUP BY 列名

4.2 HAVING

在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与合计函数一起使用。

语法:

view plain

  1. SELECT column_name, aggregate_function(column_name)

view plain

  1. FROM table_name

view plain

  1. WHERE column_name operator value

view plain

  1. GROUP BY column_name

view plain

  1. HAVING aggregate_function(column_name) operator value

5. 0  SQL函数

内建SQL函数的用法如下:

view plain

  1. SELECT function(列) FROM 表

其中内建函数分为:

  • Aggregate 函数 (合计函数)
  • Scalar 函数

Aggregate 函数

函数 描述
AVG(column) 返回某列的平均值
BINARY_CHECKSUM  
CHECKSUM  
CHECKSUM_AGG  
COUNT(column) 返回某列的行数(不包括NULL值)
COUNT(*) 返回被选行数
COUNT(DISTINCT column) 返回相异结果的数目
FIRST(column) 返回在指定的域中第一个记录的值(SQLServer2000 不支持)
LAST(column) 返回在指定的域中最后一个记录的值(SQLServer2000 不支持)
MAX(column) 返回某列的最高值
MIN(column) 返回某列的最低值
STDEV(column)  
STDEVP(column)  
SUM(column) 返回某列的总和
VAR(column)  
VARP(column)  

Scalar 函数

Scalar 函数的操作面向某个单一的值,并返回基于输入值的一个单一的值。

函数 描述
UCASE(c) 将某个域转换为大写
LCASE(c) 将某个域转换为小写
MID(c,start[,end]) 从某个文本域提取字符
LEN(c) 返回某个文本域的长度
INSTR(c,char) 返回在某个文本域中指定字符的数值位置
LEFT(c,number_of_char) 返回某个被请求的文本域的左侧部分
RIGHT(c,number_of_char) 返回某个被请求的文本域的右侧部分
ROUND(c,decimals) 对某个数值域进行指定小数位数的四舍五入
MOD(x,y) 返回除法操作的余数
NOW() 返回当前的系统日期
FORMAT(c,format) 改变某个域的显示方式
DATEDIFF(d,date1,date2) 用于执行日期计算
时间: 2024-10-24 18:20:01

【转】SQL 常用关键字释义和用法的相关文章

sql常用的关键字 (避免在table中使用这些作为字段)

问题:因为之前在建table表的时候,使用了index作为表的字段,导致项目在运行时,一直报错,提示sql语法错误. 所以特意搜索了一下sql的常用关键字.避免在犯同样的错误. --语 句 功 能--数据操作SELECT --从数据库表中检索数据行和列INSERT --向数据库表添加新数据行DELETE --从数据库表中删除数据行UPDATE --更新数据库表中的数据 --数据定义 CREATE TABLE --创建一个数据库表DROP TABLE --从数据库中删除表 ALTER TABLE

sql 常用语法汇总

Sql常用语法 SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT) DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK) 首先,简要介绍基础语句: 1.说明:创建数据库 CREATE DATABASE database-name 2.说明:删除数据库 drop database dbname 3.说明:备份sql server --- 创建 备份数据的

SQL常用语法大全

一.基础1.说明:创建数据库CREATE DATABASE database-name 2.说明:删除数据库drop database dbname3.说明:备份sql server--- 创建 备份数据的 deviceUSE masterEXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat'--- 开始 备份BACKUP DATABASE pubs TO testBack 4.说明:创建新表create

SQL常用语句积累

SQL 常用语句积累: 一. SQL 基本语句 SQL 分类: DDL -数据定义语言 (Create , Alter , Drop , DECLARE) DML -数据操纵语言 (Select , Delete , Update , Insert) DCL -数据控制语言 (GRANT , REVOKE , COMMIT , ROLLBACK) 首先 , 简要介绍基础语句: 1 .说明:创建数据库 Create DATABASE database-name 2 .说明:删除数据库 drop d

数据库基本查询语句(SQL常用增删改查语句 简单复习 mark)

SQL常用增删改查语句 1增 1.1[插入单行]insert [into] <表名> (列名) values (列值)例:insert into Strdents (姓名,性别,出生日期) values ('开心朋朋','男','1980/6/15') 1.2[将现有表数据添加到一个已有表]insert into <已有的新表> (列名) select <原表列名> from <原表名>例:insert into tongxunlu ('姓名','地址','

SQL常用语句集合(不断更新)

1.多条件 查询 上下级 所有数据 select * from OrgUnit where (ParentId = '3' or OrgId='3' or ParentId in (select OrgId from OrgUnit where ParentId='3')) 2.相同列数的 多个查询结果 组合(union all) select a,b,c from table1 union all select ca,cb,cc from table2 3.左外连接 与 右外连接 (left

PL/SQL常用设置 可看引用位置更清晰直观 引自:http://blog.csdn.net/xiaoqforever/article/details/27695569

引自:http://blog.csdn.net/xiaoqforever/article/details/27695569 1,登录后默认自动选中My Objects 默认情况下,PLSQL Developer登录后,Brower里会选择All objects,如果你登录的用户是dba,要展开tables目录,正常情况都需要Wait几秒钟,而选择My Objects后响应速率则是以毫秒计算的. Tools菜单 --> Object Brower Filters,会打开Brower Folders

(转)SQL 常用语句

SQL 常用语句积累: 一. SQL 基本语句 SQL 分类: DDL —数据定义语言 (Create , Alter , Drop , DECLARE) DML —数据操纵语言 (Select , Delete , Update , Insert) DCL —数据控制语言 (GRANT , REVOKE , COMMIT , ROLLBACK) 首先 , 简要介绍基础语句: 1 .说明:创建数据库 Create DATABASE database-name 2 .说明:删除数据库 drop d

swift学习笔记 - swift中常用关键字

swift中常用关键字 **用作声明的关键字: ** class.deinit.enum.extension.func.import.init.let.protocol.static.struct.subscript.typealias.var 用作语句的关键字 break.case.continue.default.do.else.fallthrough.if.in.for.return.switch.where.while 用作表达和类型的关键字: as.dynamicType.new.is