一、基本语句
1.SELECT 用于从表中选取数据
语法:
SELECT <列名称1>,<列名称2>
FROM <表名称>
#选取Persons表中所有的列
SELECT *
FROM Persons
2.INSERT 用于向表中插入新的行
语法:
INSERT INTO <表名称>
VALUES (值1, 值2,....)
也可以指定所要插入数据的列:
INSERT INTO <表名称> (列1, 列2,...)
VALUES (值1, 值2,....)
3.UPDATE 用于更新表中的数据
语法:
UPDATE <表名称>
SET <列名称> = <新值>
WHERE <列名称> = <某值>
4.DELETE 用于删除表中的行
语法:
DELETE FROM <表名称>
WHERE <列名称> = <某值>
5.AS 可以为列名称和表名称指定别名
语法:
列的别名:
SELECT <列名称> AS <别名>
FROM <表名称>
表的别名
SELECT <列名称>
FROM <表名称> AS <别名>
6.DISTINCT 用于返回唯一不同的值
语法:
SELECT DISTINCT <列名称>
FROM <表名称>
7.TOP 用于规定要返回的记录的数目
语法:
SELECT TOP <数目|百分比> <列名称>
FROM <表名称>
或:
SELECT <列名称>
FROM <表名称>
LIMIT <数目>
二、限制约束
1.WHERE 用于从表中选取数据
语法:
SELECT <列名称1>,<列名称2>
FROM <表名称>
WHERE <限制条件>
操作符 | 描述 |
---|---|
= | 等于 |
<> | 不等于 |
> | 大于 |
< | 小于 |
>= | 大于等于 |
<= | 小于等于 |
BETWEEN | 在某个范围内 |
LIKE | 搜索某种模式 |
IN | 在多个值内 |
- 引号的使用:
SQL 使用单引号来环绕文本值(大部分数据库系统也接受双引号)。如果是数值,请不要使用引号。
#example
SELECT *
FROM Persons
WHERE FirstName='Bush'
2.BETWEEN ... AND 会选取介于两个值之间的数据范围
语法:
SELECT <列名称1>,<列名称2>
FROM <表名称>
WHERE <类名称>
BETWEEN <值1> AND <值2>
#example
SELECT * FROM Persons
WHERE LastName
BETWEEN 'Adams' AND 'Carter'
3.IN 在 WHERE 子句中规定多个值
语法:
SELECT <列名称1>,<列名称2>
FROM <表名称>
WHERE <类名称> IN (<值1> , <值2>)
#example
SELECT *
FROM Persons
WHERE LastName IN ('Adams','Carter')
4.GROUP BY 用于结合合计函数,根据一个或多个列对结果集进行分组
语法:
SELECT <列名称1>,<列名称2>
FROM <表名称>
WHERE <限制条件>
GROUP BY <列>
#example
SELECT Customer,SUM(OrderPrice)
FROM Orders
GROUP BY Customer
5.ORDER BY 用于根据指定的列对结果集进行排序
语法:
SELECT <列名称1>,<列名称2>
FROM <表名称>
ORDER BY <列1>, <列2>
- ORDER BY 语句默认按照升序对记录进行排序。
降序 => DESC
升序 => ASC
#example
SELECT Company, OrderNumber
FROM Orders
ORDER BY Company, OrderNumber
#example
SELECT Company, OrderNumber
FROM Orders
ORDER BY Company DESC, OrderNumber ASC
6.HAVING 由于WHERE关键字无法与合计函数一起使用,增加HAVING子句
where 子句的作用是在对查询结果进行分组前,将不符合where条件的行去掉,即在分组之前过滤数据,条件中不能包含聚组函数,使用where条件显示特定的行。
having 子句的作用是筛选满足条件的组,即在分组之后过滤数据,条件中经常包含聚组函数,使用having 条件显示特定的组,也可以使用多个分组标准进行分组。
语法:
SELECT column_name, aggregate_function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name
HAVING aggregate_function(column_name) operator value
#example
SELECT Customer,SUM(OrderPrice)
FROM Orders
WHERE Customer='Bush' OR Customer='Adams'
GROUP BY Customer
HAVING SUM(OrderPrice)>1500