基本的SELECT语句
1385字,阅读需时5分钟
来自专栏
课程/专栏

先介绍基本的SELECT语句,后面会逐步介绍其它语句。

SELECT语句的基本形式如下:

SELECT 选取的列  FROM 表的列表  WHERE 查询条件

SELECT基本语句可以解释为从指定的表中查询出符合条件的记录。SELECT子句指定要查询的数据字段;FROM子句指定要查询的表,在子句后面要跟上表的名称;WHERE子句给出查询的条件。

例1:查询mooc数据库的course表,列出表中的所有记录并给出每个记录的所有字段内容。

要返回所有字段的内容可以使用关键字“*”,在查询窗口输入下面的SQL语句。

SELECT * FROM course

SQL查询结果如下图所示。

image.png                                           

 

例2:查询mooc数据库的course表,列出表中的所有记录,给出课程的名称和价格。

要从表中选择部分列作为查询的输出字段,则需要在SELECT子句中给出所选字段的一个列表,各字段之间用英文逗号隔开,对字段的顺序没有要求。在查询窗口输入如下的SQL语句。

SELECT name,price FROM course

SQL查询结果如下图所示。

 image.png

例3:查询mooc数据库的course表,列出表中的所有记录,每条记录包括课程的名称、简介、类别,输出结果显示字段名称分别为课程名称、课程简介和课程类别。

和列2一样查询要求输出选定的字段,不同的是查询结果字段的名称不是表中原有的字段名,而是新的别名。对这样的查询要求,可以通过下面的SQL语句来实现。

SELECT name AS 课程名称,brief AS 课程简介,category AS 课程类别 FROM course

SQL查询结果如下图所示。

 image.png

例4:查询mooc数据库的course表,列出表中的所有记录,每个记录包含老师编号,同时要求老师编号不重复。

查询要求选出的老师编号字段不能重复,要过滤重复字段的记录可以使用DISTINCT关键字。在查询窗口输入下面的SQL语句。

SELECT DISTINCT teacher_number FROM course

SQL查询结果如下图所示。

image.png

需要注意的是,DISTINCT关键字只能用于单个字段的过滤查询,当需要查询多个字段时,DISTINCT关键字不起作用。

例5:查询mooc数据库的course表,给出查询结果的前3条记录,每条记录包含所有字段。

输出查询结果的前3条记录,可以在FROM子句后面添加LIMIT子句,LIMIT子句用于限定输出的记录条数。在查询窗口输入下面的SQL语句。

SELECT * FROM course LIMIT 3

SQL查询结果如下图所示。

 image.png

FROM子句用来指定查询的数据源,可以是一个表,也可以是视图(后面会有讲述)、派生表或多个表的连接。当FROM指定的数据源中包含列名相同的字段时,要在列名前加上数据源限定。例如,如果在course表和teacher表都有“number”字段,则在使用该字段时,在字段名称前面要加上表名。如course.number和teacher.number。

我要评论
全部评论