下面语法 SQL Server 2008 R2 可以正常运行。
SELECT 语句
1 2 3 4
| SELECT column_name, column_name, ... FROM table_name;
SELECT * FROM table_name;
|
DISTINCT 关键字
用于返回唯一不同的值。
1 2
| SELECT DISTINCT column_name, column_name, ... FROM table_name;
|
ORDER BY 关键字
1 2 3
| SELECT column_name, column_name, ... FROM table_name ORDER BY column_name ASC/DESC, column_name ASC/DESC;
|
TOP 关键字
1 2 3 4 5 6 7 8
| SELECT TOP 5 column_name, column_name, ... FROM table_name;
SELECT TOP 5 PERCENT column_name, column_name, ... FROM table_name;
|
WHERE 子句
1 2 3
| SELECT column_name, column_name, ... FROM table_name WHERE column_name operator value;
|
SQL 使用单引号来环绕文本值(大部分数据库系统也接受双引号)。
如果是数值字段,不要使用引号。
WHERE 子句中的运算符
运算符 |
描述 |
= |
等于 |
<>(!=) |
不等于 |
> |
大于 |
< |
小于 |
>= |
大于等于 |
<= |
小于等于 |
BETWEEN |
在某个范围内 |
LIKE |
搜索某种模式 |
IN |
指定针对某个列的多个可能值 |
LIKE 运算符
1 2 3
| SELECT column_name, column_name, ... FROM table_name WHERE column_name LIKE pattern;
|
通配符
通配符 |
描述 |
% |
替代 0 个或多个字符 |
_ |
替代一个字符 |
[charlist] |
字符列表中的任何单一字符 |
charlist或[!charlist] |
不在字符列表中的任何单一字符 |
- LIKE ‘%a’: 以a结尾的记录
- LIKE ‘a%’:以a开头的记录
- LIKE ‘%a%’: 含有a的记录
- LIKE ‘_a_‘: 三位且中间字母是a的记录
- LIKE ‘_a’: 两位且结尾字母是a的记录
- LIKE ‘a_’: 两位且开头字母是a的记录
- LIKE ‘[ab]%’: 以a或b开头的记录
- LIKE ‘ab%’: 不以a或b开头的记录
IN 运算符
与 = 运算符相识,但可以匹配多个值。
1 2
大专栏 SQL-基础语法(数据行、列相关)pan class="line">3
| SELECT column_name, column_name, ... FROM table_name WHERE column_name IN (value1, value2, ...);
|
BETWEEN 运算符
1 2 3
| SELECT column_name, column_name, ... FROM table_name WHERE column_name BETWEEN value1 AND value2;
|
值可以是数值、文本或者日期。
AND、OR、NOT 运算符
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| SELECT column1, column2, ... FROM table_name WHERE condition1 AND condition2 ...;
SELECT column1, column2, ... FROM table_name WHERE condition1 OR condition2 ...;
SELECT column1, column2, ... FROM table_name WHERE NOT condition;
SELECT column_name, column_name, ... FROM table_name WHERE column_name operator value AND column_name operator value OR column_name operator value;
SELECT column_name, column_name, ... FROM table_name WHERE column_name NOT LIKE pattern;
SELECT column_name, column_name, ... FROM table_name WHERE column_name NOT IN (value1, value2, ...);
SELECT column_name, column_name, ... FROM table_name WHERE column_name NOT BETWEEN value1 AND value2;
|
INSERT INTO 语句
1 2 3 4 5
| INSERT INTO table_name VALUES (value1, value2, value3,...);
INSERT INTO table_name (column1, column2, column3, ...) VALUES (value1, value2, value3, ...);
|
UPDATE 语句
1 2 3
| UPDATE table_name SET column1=value1, column2=value2,... WHERE some_column = some_value;
|
注:不加 WHERE 子句将修改全部记录
DELETE 语句
1 2
| DELETE FROM table_name WHERE some_column = some_value;
|
注:不加 WHERE 子句将删除全部记录