SQL世界之命令语句Ⅱ

目录

一、SQL TOP语句

1.TOP 子句

2.SQL TOP 实例

3.SQL TOP PERCENT 实例

二、SQL LIKE 操作符

1.LIKE 操作符

2.SQL LIKE 操作符语法

3.LIKE 操作符实例

三、SQL通配符

1.SQL 通配符

2.使用 % 通配符

3.使用 _ 通配符

4.使用 [charlist] 通配符

四、SQL IN操作符

1.IN 操作符

2.SQL IN 语法

3.IN 操作符实例

五、SQL BETWEEN操作符

1.BETWEEN 操作符

2.SQL BETWEEN 语法

3.BETWEEN 操作符实例

六、SQL Alias(别名)

1.SQL Alias

2.使用表名称别名

3.使用一个列名别名


一、SQL TOP语句

1.TOP 子句

TOP 子句用于规定要返回的记录的数目。

注释:并非所有的数据库系统都支持 TOP 子句。MySQL 和 Oracle 中的 SQL SELECT TOP 是等价的。

SQL Server 的语法:

SELECT TOP number|percent column_name(s)

FROM table_name

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

Persons 表:

Id

LastName

FirstName

Address

City

001

Aam

Joh

Oxd Street

London

002

Buh

Grge

Fifth Aue

New York

003

Car

Tmas

Can Street

Beijing

004

Obam

Barack

Pensy Aue

Washington

2.SQL TOP 实例

从 "Persons" 表中选取头两条记录,使用的 SELECT 语句:

SELECT TOP 2 * FROM Persons

结果:

Id

LastName

FirstName

Address

City

001

Aam

Joh

Oxd Street

London

002

Buh

Grge

Fifth Aue

New York

3.SQL TOP PERCENT 实例

从 "Persons" 表中选取 50% 的记录,使用的 SELECT 语句:

SELECT TOP 50 PERCENT * FROM Persons

结果:

Id

LastName

FirstName

Address

City

001

Aam

Joh

Oxd Street

London

002

Buh

Grge

Fifth Aue

New York

二、SQL LIKE 操作符

1.LIKE 操作符

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

2.SQL LIKE 操作符语法

SELECT column_name(s)

FROM table_name

WHERE column_name LIKE pattern

Persons 表:

Id

LastName

FirstName

Address

City

001

Aam

Joh

Oxd Street

London

002

Buh

Grge

Fifth Aue

New York

003

Car

Tmas

Can Street

Beijing

3.LIKE 操作符实例

①从 "Persons" 表中选取居住在以 "N" 开始的城市里的人,使用的 SELECT 语句:

SELECT * FROM Persons

WHERE City LIKE 'N%'

注释:"%" 可用于定义通配符(模式中缺少的字母)。

结果集:

Id

LastName

FirstName

Address

City

002

Buh

Grge

Fifth Aue

New York

②从 "Persons" 表中选取居住在以 "g" 结尾的城市里的人,使用的 SELECT 语句:

SELECT * FROM Persons

WHERE City LIKE '%g'

结果集:

Id

LastName

FirstName

Address

City

003

Car

Tmas

Can Street

Beijing

③从 "Persons" 表中选取居住在包含 "lon" 的城市里的人,使用的 SELECT 语句:

SELECT * FROM Persons

WHERE City LIKE '%lon%'

结果集:

Id

LastName

FirstName

Address

City

001

Aam

Joh

Oxd Street

London

④使用 NOT 关键字,从 "Persons" 表中选取居住在不包含 "lon" 的城市里的人,使用的 SELECT 语句:

SELECT * FROM Persons

WHERE City NOT LIKE '%lon%'

结果集:

Id

LastName

FirstName

Address

City

002

Buh

Grge

Fifth Aue

New York

003

Car

Tmas

Can Street

Beijing

三、SQL通配符

1.SQL 通配符

在搜索数据库中的数据时,SQL 通配符可以替代一个或多个字符。

注:SQL 通配符必须与 LIKE 运算符一起使用。

在 SQL 中,可使用以下通配符:

通配符 描述
% 代表零个或多个字符
_ 仅替代一个字符
[charlist] 字符列中的任何单一字符
[^charlist]或者[!charlist] 不在字符列中的任何单一字符

Persons 表:

Id

LastName

FirstName

Address

City

001

Aam

Joh

Oxd Street

London

002

Buh

Grge

Fifth Aue

New York

003

Car

Tmas

Can Street

Beijing

2.使用 % 通配符

①从 "Persons" 表中选取居住在以 "Ne" 开始的城市里的人,使用的 SELECT 语句:

SELECT * FROM Persons

WHERE City LIKE 'Ne%'

结果集:

Id

LastName

FirstName

Address

City

002

Buh

Grge

Fifth Aue

New York

②从 "Persons" 表中选取居住在包含 "lond" 的城市里的人,使用的 SELECT 语句:

SELECT * FROM Persons

WHERE City LIKE '%lond%'

结果集:

Id

LastName

FirstName

Address

City

001

Aam

Joh

Oxd Street

London

3.使用 _ 通配符

①从 "Persons" 表中选取名字的第一个字符之后是 "rge" 的人,使用的 SELECT 语句:

SELECT * FROM Persons

WHERE FirstName LIKE '_rge'

结果集:

Id

LastName

FirstName

Address

City

002

Buh

Grge

Fifth Aue

New York

②从 "Persons" 表中选取的这条记录的姓氏以 "C" 开头,然后是一个任意字符,然后是 "a",然后是一个任意字符,然后是 "r",使用的 SELECT 语句:

SELECT * FROM Persons

WHERE LastName LIKE 'C_a_r'

结果集:

Id

LastName

FirstName

Address

City

003

Car

Tmas

Can Street

Beijing

注:灵活运用通配符 

4.使用 [charlist] 通配符

①从"Persons" 表中选取居住的城市以 "A" 或 "L" 或 "N" 开头的人,使用的 SELECT 语句:

SELECT * FROM Persons

WHERE City LIKE '[ALN]%'

结果集:

Id

LastName

FirstName

Address

City

001

Aam

Joh

Oxd Street

London

002

Buh

Grge

Fifth Aue

New York

②从"Persons" 表中选取居住的城市不以 "A" 或 "L" 或 "N" 开头的人,使用的 SELECT 语句:

SELECT * FROM Persons

WHERE City LIKE '[!ALN]%'

结果集:

Id

LastName

FirstName

Address

City

003

Car

Tmas

Can Street

Beijing

四、SQL IN操作符

1.IN 操作符

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

2.SQL IN 语法

SELECT column_name(s)

FROM table_name

WHERE column_name IN (value1,value2,...)

Persons 表:

Id

LastName

FirstName

Address

City

001

Aam

Joh

Oxd Street

London

002

Buh

Grge

Fifth Aue

New York

003

Car

Tmas

Can Street

Beijing

3.IN 操作符实例

从上表中选取姓氏为 Aam 和 Car 的人,使用的 SELECT 语句:

SELECT * FROM Persons

WHERE LastName IN ('Aam','Car')

结果集:

Id

LastName

FirstName

Address

City

001

Aam

Joh

Oxd Street

London

003

Car

Tmas

Can Street

Beijing

五、SQL BETWEEN操作符

1.BETWEEN 操作符

BETWEEN 操作符在 WHERE 子句中使用,操作符 BETWEEN ... AND 会选取介于两个值之间的数据范围。这些值可以是数值、文本或者日期。

2.SQL BETWEEN 语法

SELECT column_name(s)

FROM table_name

WHERE column_name

BETWEEN value1 AND value2

Persons 表:

Id

LastName

FirstName

Address

City

001

Aam

Joh

Oxd Street

London

002

Buh

Grge

Fifth Aue

New York

003

Car

Tmas

Can Street

Beijing

004

Gates

Bill

Xuanwumen 10

Beijing

3.BETWEEN 操作符实例

①以字母顺序显示介于 "Aam"(包括)和 "Car"(不包括)之间的人,使用的 SQL语句:

SELECT * FROM Persons

WHERE LastName

BETWEEN 'Adams' AND 'Carter'

结果集:

Id

LastName

FirstName

Address

City

001

Aam

Joh

Oxd Street

London

002

Buh

Grge

Fifth Aue

New York

注:不同的数据库对 BETWEEN...AND 操作符的处理方式是有差异的。某些数据库会列出介于 "Aam" 和 "Car" 之间的人,但不包括 "Aam" 和 "Car" ;某些数据库会列出介于 "Aam" 和 "Car" 之间并包括 "Aam" 和 "Car" 的人;而另一些数据库会列出介于 "Aam" 和 "Car" 之间的人,包括 "Aam" ,但不包括 "Car" 。

②使用上面的例子显示范围之外的人,使用 NOT 操作符:

SELECT * FROM Persons

WHERE LastName

NOT BETWEEN 'Adams' AND 'Carter'

结果集:

Id

LastName

FirstName

Address

City

003

Car

Tmas

Can Street

Beijing

004

Gates

Bill

Xuanwumen 10

Beijing

六、SQL Alias(别名)

通过使用 SQL命令语句,可以为列名称和表名称指定别名(Alias)。

1.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

2.使用表名称别名

假设有两个表分别是:"Persons" 和 "Product_Orders"。分别为它们指定别名 "p" 和 "po"。

列出 "Joh Aam" 的所有定单,使用的 SELECT 语句:

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

FROM Persons AS p, Product_Orders AS po

WHERE p.LastName='Aam' AND p.FirstName='Joh'

不使用别名的 SELECT 语句:

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

FROM Persons, Product_Orders

WHERE Persons.LastName='Aam' AND Persons.FirstName='Joh'

得出结论:别名使查询程序更易阅读和书写。

3.使用一个列名别名

Persons 表:

Id

LastName

FirstName

Address

City

001

Aam

Joh

Oxd Street

London

002

Buh

Grge

Fifth Aue

New York

003

Car

Tmas

Can Street

Beijing

从Persons表中抽取LastName列重命名为Family,FirstName列重命名为Name,使用的SQL语句:

SELECT LastName AS Family, FirstName AS Name

FROM Persons

结果集:

Family

Name

Aam

Joh

Buh

Grge

Car

Tmas

提醒:各位看官可不要光只顾着看,还要在自己建立的数据库模型中不断地实操才能更好的掌握SQL语句。

你可能感兴趣的:(SQL,sql,数据库,笔记,经验分享)