SELECT
语句用于从表中选取数据,结果被存储在一个结果表中(称为结果集)。
SELECT 列名称 FROM 表名称
SELECT * FROM 表名称
--注释:SQL 语句对大小写不敏感。SELECT 等效于 select。
DISTINCT
在表中,可能会包含重复值。这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值。
关键词 DISTINCT 用于返回唯一不同的值。
SELECT DISTINCT 列名称 FROM 表名称
WHERE 关键字
SELECT 列名称 FROM 表名称 WHERE 列 运算符 值
操作符 | 描述 |
---|---|
= | 等于 |
<> | 不等于 |
> | 大于 |
< | 小于 |
>= | 大于等于 |
<= | 小于等于 |
BETWEEN | 在某个范围内 |
LIKE | 搜索某种模式 |
AND 和 OR 运算符
AND 和 OR 可在 WHERE 子语句中把两个或多个条件结合起来。
如果第一个条件和第二个条件都成立,则 AND 运算符显示一条记录。
如果第一个条件和第二个条件中只要有一个成立,则 OR 运算符显示一条记录。
ORDER BY 语句
ORDER BY 语句用于根据指定的列对结果集进行排序。
ORDER BY 语句默认按照升序对记录进行排序。
如果您希望按照降序对记录进行排序,可以使用 DESC 关键字。
以逆字母顺序显示公司名称,并以数字顺序显示顺序号:
SELECT Company, OrderNumber FROM Orders ORDER BY Company DESC, OrderNumber ASC
INSERT INTO 语句
INSERT INTO 表名称 VALUES (值1, 值2,....)
--我们也可以指定所要插入数据的列:
INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)
Update 语句
UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值
DELETE 语句
DELETE FROM 表名称 WHERE 列名称 = 值
TOP 子句
SQL Server 的语法:
SELECT TOP number|percent
column_name(s)
FROM table_name
SQL TOP 实例
--我们希望从 "Persons" 表中选取头两条记录。
--我们可以使用下面的 SELECT 语句:
SELECT TOP 2 * FROM Persons
SQL TOP PERCENT 实例
--我们希望从 "Persons" 表中选取 50% 的记录。
--我们可以使用下面的 SELECT 语句:
SELECT TOP 50 PERCENT * FROM Persons
MySQL 语法
SELECT column_name(s)
FROM table_name
LIMIT number
例子:
SELECT *
FROM Persons
LIMIT 5
Oracle 语法
SELECT column_name(s)
FROM table_name
WHERE ROWNUM <= number
例子:
SELECT *
FROM Persons
WHERE ROWNUM <= 5
LIKE 操作符
SELECT column_name(s)
FROM table_name
WHERE column_name LIKE pattern
举例
SELECT * FROM Persons
WHERE City LIKE 'N%'
SQL 通配符
例子:
我们希望从 "Persons" 表中选取居住在以 "Ne" 开始的城市里的人:
SELECT * FROM Persons WHERE City LIKE 'Ne%'
我们希望从 "Persons" 表中选取居住在包含 "lond" 的城市里的人:
SELECT * FROM Persons WHERE City LIKE '%lond%'
我们希望从 "Persons" 表中选取名字的第一个字符之后是 "eorge" 的人:
SELECT * FROM Persons WHERE FirstName LIKE '_eorge'
我们希望从 "Persons" 表中选取的这条记录的姓氏以 "C" 开头,然后是一个任意字符,然后是 "r",然后是任意字符,然后是 "er":
SELECT * FROM Persons WHERE LastName LIKE 'C_r_er'
我们希望从 "Persons" 表中选取居住的城市以 "A" 或 "L" 或 "N" 开头的人:
SELECT * FROM Persons WHERE City LIKE '[ALN]%'
我们希望从 "Persons" 表中选取居住的城市不以 "A" 或 "L" 或 "N" 开头的人:
SELECT * FROM Persons WHERE City LIKE '[!ALN]%'
IN 操作符
SELECT column_name(s)
FROM table_name
WHERE column_name IN (value1,value2,...)
例子:
我们希望从‘Persons’表中选取姓氏为 Adams 和 Carter 的人:
SELECT * FROM Persons
WHERE LastName IN ('Adams','Carter')
BETWEEN 操作符
操作符 BETWEEN ... AND 会选取介于两个值之间的数据范围。这些值可以是数值、文本或者日期。
SELECT column_name(s)
FROM table_name
WHERE column_name
BETWEEN value1 AND value2
--sql server 数据库是包括前后边界的
SQL AS 全称 Alias(别名)
通过使用 SQL,可以为列名称和表名称指定别名(Alias)
--表的 SQL Alias 语法
SELECT column_name(s)
FROM table_name AS alias_name
--列的 SQL Alias 语法
SELECT column_name AS alias_name
FROM table_name