MySQL之SELECT查询语句

文章目录

    • SELECT语句的基本语法格式
    • SELECT各子句的执行顺序
    • 查询单字段
    • 查询多字段
    • 去除重复信息——DISTINCT
    • 命名新列(别名)——AS
    • 将查询结果保存为新表
    • 连接字段——CONCAT
    • 加餐作业(SELECT 查询)

  查询数据是数据库操作中最重要的操作之一,实现查询操作要使用SQL语言中的SELECT语句。使用SELECT检索表数据,要明确两点,一是想选择什么,二是从什么地方选择。


SELECT语句的基本语法格式

下面先介绍SELECT语句最基本的语法格式。

SELECT *
FROM table
  • SELECT关键字后的“*”,代表查询数据表中的所有(字段)的内容,同时也可以指定要查询的字段名列表。
  • FROM关键字后的table,指明要从哪个表查询数据。
  • SELECT语句与其他SQL语句一样,不区分大小写,例如select和SELECT是相同的,但是字段名、表名或者值需要区分大小写。

Example one : 以下示例查询student数据表中的所有内容,用SELECT * FROM student语句。

MySQL之SELECT查询语句_第1张图片

SELECT各子句的执行顺序

  上面了解了SELECT语句的主要子句,当SELECT语句被执行时,其子句会按照固定的先后顺序执行。现假设SELECT语句带有所有的子句,执行顺序如下:

  1. FROM子句
  2. WHERE子句
  3. GROUP BY子句
  4. HAVING子句
  5. SELECT子句
  6. ORDER BY子句

查询单字段

  从表中选取数据时需要使用 SELECT 语句,也就是只从表中选出(SELECT)必要数据的意思。通过 SELECT 语句查询并选取出必要数据的过程称为匹配查询或查询(query)。下面是查询单字段的语法格式:

SELECT 字段名
FROM  table

Example two : 查询student表中有哪些学院的学生。

MySQL之SELECT查询语句_第2张图片


查询多字段

  在数据库实际应用中,除了查询单字段数据以外,更需要查询的是多字段数据。多字段查询在SELECT关键字后列出需要查询的所有字段的名称,并用逗号(,)将这些字段名隔开,其基本语法格式如下:

SELECT 字段名1,字段名2,字段名3,...
FROM  table

Example three : 查询student表中所有学生的“学号”,“姓名”,“来源地”。
MySQL之SELECT查询语句_第3张图片


去除重复信息——DISTINCT

  在单字段查询中,发现运行结果罗列出了所有学生所在学院的信息,但现在想一目了然了解到学院这个字段的不同值,则应在该字段名前加上DISTINCT关键字。其基本语法格式如下:

SELECT  DISTINCT 字段名
FROM  table

Example four : 在student表中,把institute列的重复值去掉。
MySQL之SELECT查询语句_第4张图片


命名新列(别名)——AS

  SQL 语句可以使用 AS 关键字为列设定别名。其基本语法格式如下:

SELECT  字段名1 AS 新列名1,字段名2 AS 新列名2,...
FROM table

Example five : 查询student表中所有学生的ID、name、origin三个字段,用AS将结果修改为对应的中文。
MySQL之SELECT查询语句_第5张图片


将查询结果保存为新表

  有时为了方便,需要将查询结果保存起来。例如,将上面查询所有学生的ID、name、origin三个字段另存为“生源地信息”的新表,则需要在原来代码的基础上加上 CREATE TABLE 语句用于创建新表,其基本语法格式如下:

CREATE TABLE 新表名
AS
SELECT  字段名1 AS 新列名1,字段名2 AS 新列名2,...
FROM table

Example six : 查询student表中所有学生的ID、name、origin三个字段,用AS将结果修改为对应的中文,并将查询结果保存为“生源地信息”表。
MySQL之SELECT查询语句_第6张图片


连接字段——CONCAT

  在数据库应用中,有时需要将多个字段连接(拼接)起来为一个字段(单值)。例如,报表中只有一个位置,而又希望将多个字段的信息显示出来,此时需要连接字段。其基本语法格式如下:

SELECT CONCAT(字段名1,字段名2,...)
FROM  table

Example seven : 从student表中查询所有学生的姓名和来源地,并将两个字段连接为一个字段。
MySQL之SELECT查询语句_第7张图片


加餐作业(SELECT 查询)

  首先安利一个网站——自学SQL网 !点它!点它!!点它!!! 不是推销,是真的亲测好用!但不那么友好的是到后面习题章节要开会员才能用!个人认为这个网站最大的好处就是可以在它原有数据库的基础上做练习,可以先过完每一遍章节的知识点讲解部分,再看对应章节的教学视频(点击链接会跳转到B站),最后就是做练习巩固,事半功倍!下面就是SELECT查询那部分对应的作业。

  • 首先,大概浏览数据表,观察表的结构,了解字段名。
    MySQL之SELECT查询语句_第8张图片
  • 第一题,找到所有电影的名称 title。当你正确回答这道题目,就会在对应题目后面看到绿色的”√“。
    MySQL之SELECT查询语句_第9张图片
  • 第二题,找到所有电影的导演。与第一题是类似的,都是找出字段名,结果就可以看到字段名所在的一列。对应上面查询单字段的知识点,所用语句是SELECT 字段名 FROM table
    MySQL之SELECT查询语句_第10张图片
  • 第三题,找到所有电影的名称和导演 。对应“多字段查询”知识点,所用语句是SELECT 字段名1,字段名2,字段名3,... FROM table。也可以理解为是前面两道题的合并。
    MySQL之SELECT查询语句_第11张图片
  • 第四题,找到所有电影的名称和上映年份。与第三题是一样的道理,都是考察“多字段查询”知识点,只是更换了字段名。
    MySQL之SELECT查询语句_第12张图片
  • 第五题,找到所有电影的所有信息。这就是文章一开始讲的查询数据表所有内容用 - SELECT * FROM table语句。

MySQL之SELECT查询语句_第13张图片

  • 第六题,找到所有电影的名称,Id和播放时长。考察“多字段查询”知识点,注意这个是三个字段,字段在数据表中的顺序与输入时顺序一致,比如 Id 不在第一列,而在第二列。

MySQL之SELECT查询语句_第14张图片

你可能感兴趣的:(MySQL,mysql,sql,数据库,大数据)