admin管理员组

文章数量:829177

SQL零基础入门学习(三)

SQL零基础入门学习(二)

SQL WHERE 子句

WHERE 子句用于提取那些满足指定条件的记录。

SQL WHERE 语法

SELECT column1, column2, ...
FROM table_name
WHERE condition;

参数说明:

column1, column2, …:要选择的字段名称,可以为多个字段。如果不指定字段名称,则会选择所有字段。
table_name:要查询的表名称。

演示数据库

在本教程中,我们将使用 RUNOOB 样本数据库。

下面是选自 “Websites” 表的数据:

+----+--------------+---------------------------+-------+---------+
| id | name         | url                       | alexa | country |
+----+--------------+---------------------------+-------+---------+
| 1  | Google       | /    | 1     | USA     |
| 2  | 淘宝          | /   | 13    | CN      |
| 3  | 菜鸟教程      | /    | 4689  | CN      |
| 4  | 微博          | /         | 20    | CN      |
| 5  | Facebook     | / | 3     | USA     |
+----+--------------+---------------------------+-------+---------+

WHERE 子句实例

下面的 SQL 语句从 “Websites” 表中选取国家为 “CN” 的所有网站:

SELECT * FROM Websites WHERE country='CN';

执行输出结果:

文本字段 vs. 数值字段

SQL 使用单引号来环绕文本值(大部分数据库系统也接受双引号)。

在上个实例中 ‘CN’ 文本字段使用了单引号。

如果是数值字段,请不要使用引号。

实例

SELECT * FROM Websites WHERE id=1;

执行输出结果:

WHERE 子句中的运算符

下面的运算符可以在 WHERE 子句中使用:

SQL AND & OR 运算符

AND & OR 运算符用于基于一个以上的条件对记录进行过滤。

SQL AND & OR 运算符

如果第一个条件和第二个条件都成立,则 AND 运算符显示一条记录。

如果第一个条件和第二个条件中只要有一个成立,则 OR 运算符显示一条记录。

演示数据库

在本教程中,我们将使用 RUNOOB 样本数据库。

下面是选自 “Websites” 表的数据:

+----+--------------+---------------------------+-------+---------+
| id | name         | url                       | alexa | country |
+----+--------------+---------------------------+-------+---------+
| 1  | Google       | /    | 1     | USA     |
| 2  | 淘宝          | /   | 13    | CN      |
| 3  | 菜鸟教程      | /    | 4689  | CN      |
| 4  | 微博          | /         | 20    | CN      |
| 5  | Facebook     | / | 3     | USA     |
+----+--------------+---------------------------+-------+---------+

AND 运算符实例

下面的 SQL 语句从 “Websites” 表中选取国家为 “CN” 且alexa排名大于 “50” 的所有网站:

实例

SELECT * FROM Websites
WHERE country='CN'
AND alexa > 50;

执行输出结果:

OR 运算符实例

下面的 SQL 语句从 “Websites” 表中选取国家为 “USA” 或者 “CN” 的所有客户:

实例

SELECT * FROM Websites
WHERE country='USA'
OR country='CN';

执行输出结果:

结合 AND & OR

您也可以把 AND 和 OR 结合起来(使用圆括号来组成复杂的表达式)。

下面的 SQL 语句从 “Websites” 表中选取 alexa 排名大于 “15” 且国家为 “CN” 或 “USA” 的所有网站:

实例

SELECT * FROM Websites
WHERE alexa > 15
AND (country='CN' OR country='USA');

执行输出结果:

SQL ORDER BY 关键字

ORDER BY 关键字用于对结果集进行排序。

SQL ORDER BY 关键字

ORDER BY 关键字用于对结果集按照一个列或者多个列进行排序。

ORDER BY 关键字默认按照升序对记录进行排序。如果需要按照降序对记录进行排序,您可以使用 DESC 关键字。

SQL ORDER BY 语法

SELECT column1, column2, ...
FROM table_name
ORDER BY column1, column2, ... ASC|DESC;

column1, column2, …:要排序的字段名称,可以为多个字段。
ASC:表示按升序排序。
DESC:表示按降序排序。

演示数据库

在本教程中,我们将使用 RUNOOB 样本数据库。

下面是选自 “Websites” 表的数据:

+----+--------------+---------------------------+-------+---------+
| id | name         | url                       | alexa | country |
+----+--------------+---------------------------+-------+---------+
| 1  | Google       | /    | 1     | USA     |
| 2  | 淘宝          | /   | 13    | CN      |
| 3  | 菜鸟教程      | /    | 4689  | CN      |
| 4  | 微博          | /         | 20    | CN      |
| 5  | Facebook     | / | 3     | USA     |
+----+--------------+---------------------------+-------+---------+

ORDER BY 实例

下面的 SQL 语句从 “Websites” 表中选取所有网站,并按照 “alexa” 列排序:

SELECT * FROM Websites
ORDER BY alexa;

执行输出结果:

ORDER BY DESC 实例

下面的 SQL 语句从 “Websites” 表中选取所有网站,并按照 “alexa” 列降序排序:

SELECT * FROM Websites
ORDER BY alexa DESC;

执行输出结果:

ORDER BY 多列

下面的 SQL 语句从 “Websites” 表中选取所有网站,并按照 “country” 和 “alexa” 列排序:

SELECT * FROM Websites
ORDER BY country,alexa;

执行输出结果:

本文标签: SQL零基础入门学习(三)