浏览 2260 次
锁定老帖子 主题:SQL 查询
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-07-14  

SQL--查询

SQL--查询

1.1Select
1.1.1用途:

 从指定表中取出指定的列的数据

1.1.2语法:

SELECT column_name(s) FROM table_name

1.1.3解释:

从数据库中选取资料列,并允许从一或多个资料表中,选取一或多个资料列或资料行。SELECT 陈述式的完整语法相当复杂.

1.2Where
1.2.1用途:

被用来规定一种选择查询的标准

1.2.2语法:

SELECT column FROM table WHERE column condition value
 

下面的操作符能被使用在WHERE中:

=,<>,>,<,>=,<=,BETWEEN,LIKE

注意: 在某些SQL的版本中不等号< >能被写作为!=

1.2.3解释:

  SELECT语句返回WHERE子句中条件为true的数据

1.2.4举例:

从” Persons”表中选出生活在” Sandnes” 的人

SELECT * FROM Persons WHERE City='Sandnes'

 

1.3And & Or
1.3.1用途:

在WHERE子句中AND和OR被用来连接两个或者更多的条件

1.3.2解释:

AND在结合两个布尔表达式时,只有在两个表达式都为 TRUE 时才传回 TRUE

  OR在结合两个布尔表达式时,只要其中一个条件为 TRUE 时,OR便传回 TRUE

1.3.3

用AND运算子来查找"Persons" 表中FirstName为”Tove”而且LastName为” Svendson”的数据

SELECT * FROM Persons
WHERE FirstName='Tove'
AND LastName='Svendson'
1.4Between…And
1.4.1用途:

 指定需返回数据的范围

1.4.2语法:

SELECT column_name FROM table_name
WHERE column_name
BETWEEN value1 AND value2
 

1.4.3例:

用BETWEEN…AND返回LastName为从”Hansen”到”Pettersen”的数据:

SELECT * FROM Persons WHERE LastName
BETWEEN 'Hansen' AND 'Pettersen'

 

1.5Distinct
1.5.1用途:

 DISTINCT关键字被用作返回唯一的值

1.5.2语法:

SELECT DISTINCT column-name(s) FROM table-name

1.5.3解释:

 column-name(s)中存在重复的值时,返回结果仅留下一个

1.5.4例:

“Orders”表中的原始数据

Company

OrderNumber

Sega

3412

W3Schools

2312

Trio

4678

W3Schools

6798

DISTINCT关键字返回Company字段中唯一的值:

SELECT DISTINCT Company FROM Orders

返回结果:

Company

Sega

W3Schools

Trio

 

1.6distinct

用途:

 DISTINCT关键字被用作返回唯一的值---把结果中重复的去掉

语法:

SELECT DISTINCT column-name(s) FROM table-name

解释:

 column-name(s)中存在重复的值时,返回结果仅留下一个

例:

“Orders”表中的原始数据

Company

OrderNumber

Sega

3412

W3Schools

2312

Trio

4678

W3Schools

6798

DISTINCT关键字返回Company字段中唯一的值:

SELECT DISTINCT Company FROM Orders

返回结果:

Company

Sega

W3Schools

Trio

 

1.7order by

1.7.1用途:

指定结果集的排序

1.7.2语法:

SELECT column-name(s) FROM table-name ORDER BY { order_by_expression [ ASC | DESC ] }

1.7.3解释:

 指定结果集的排序,可以按照ASC(递增方式排序,从最低值到最高值)或者DESC(递减方式排序,从最高值到最低值)的方式进行排序,默认的方式是ASC

1.7.4例:

“Orders”表中的原始数据:

Company

OrderNumber

Sega

3412

ABC Shop

5678

W3Schools

2312

W3Schools

6798

按照Company字段的升序方式返回结果集:

SELECT Company, OrderNumber FROM Orders
ORDER BY Company

返回结果:

Company

OrderNumber

ABC Shop 

5678

Sega

3412

W3Schools

6798

W3Schools

2312

按照Company字段的降序方式返回结果集:

SELECT Company, OrderNumber FROM Orders
ORDER BY Company DESC

返回结果:

Company

OrderNumber

W3Schools

6798

W3Schools

2312

Sega

3412

ABC Shop

5678

 

1.8group by

1.8.1用途:

对结果集进行分组,常与汇总函数一起使用。

1.8.2语法:

SELECT column,SUM(column) FROM table GROUP BY column

1.8.3例:

“Sales”表中的原始数据:

Company

Amount

W3Schools

5500

IBM

4500

W3Schools

7100

按照Company字段进行分组,求出每个CompanyAmout的合计:

SELECT Company,SUM(Amount) FROM Sales
GROUP BY Company

返回结果

Company

SUM(Amount)

W3Schools

12600

IBM

4500

 

1.9having

1.9.1用途:

指定群组或汇总的搜寻条件。

1.9.2语法:

SELECT column,SUM(column) FROM table
GROUP BY column
HAVING SUM(column) condition value

1.9.3解释:

HAVING 通常与 GROUP BY 子句同时使用。不使用 GROUP BY 时,HAVING 则与 WHERE 子句功能相似。

1.9.3例:

“Sales”表中的原始数据:

Company

Amount

W3Schools

5500

IBM

4500

W3Schools

7100

按照Company字段进行分组,求出每个CompanyAmout的合计在10000以上的数据:

SELECT Company,SUM(Amount) FROM Sales
GROUP BY Company HAVING SUM(Amount)>10000

返回结果

Company

SUM(Amount)

W3Schools

12600

 

论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics