使用SQL语句查询MySQL数据表

news2024/9/27 5:52:48

6.1 创建单表基本查询

1Select 语句的语法格式及其功能

1Select 语句的一般格式。

Select < 字段名称或表达式列表 >

From < 数据表名称或视图名称 >

[ Where < 条件表达式 > ]

[ Group By < 分组的字段名称或表达式 > ]

[ Having < 筛选条件 > ]

[ Order By < 排序的字段名称或表达式 > Asc | Desc ]

[ 数据表的别名 ]

2Select 语句的功能。

根据 Where 子句的条件表达式从 From 子句指定的数据表中找出满足条件的记录,再根据 Select 子句选出记录中的字段值,把查询结果以表格的形式返回。

3Select 语句的说明。

Select 关键字后面跟的是要检索的字段列表。SQL 查询子句的顺序为 SelectIntoFromWhereGroup ByHaving Order By

2SQL 的语言类型及常用的语句

SQL 的语言类型及常用的语句如表 6-1 所示。

任务 6-1】使用 Navicat for MySQL 实现查询操作

任务描述

Navicat for MySQL 中创建、运行查询,查询“用户信息”数据表中所有的记录,要求将该表各个字段的别名设置为“用户 ID”“用户编号”“用户名称”“密码”。

任务实施

打开数据库

启动图形管理工具 Navicat for MySQL,打开连接 MallConn,打开数据库 MallDB

显示查询对象

单击Navicat for MySQL】窗口工具栏中的查询按钮,显示查询对象。

显示对应的按钮

单击新建查询按钮,显示对应的按钮,如图 6-1 所示。

6-1  查询对应的按钮 

选择创建查询的数据表及其字段

查询创建工具窗口左侧的数据表列表中双击数据表“用户信息”,右上方将弹出“用户信息”数据表的字段列表,这里分别选择“UserID”“UserNumber”“Name”“UserPassword,窗口右侧区域自动生成了对应的 SQL 语句,如图 6-3 所示。

 6-3  查询创建工具窗口中选择创建查询的数据表和字段

在查询语句模板区域设置别名

目前“用户信息”的字段名称为英文,如果需要设置为中文名,可以在查询创建工具窗口的查询语句模板区域单击“< 别名 >”位置,在弹出的输入框中输入中文别名,然后单击确定按钮关闭输入框,这里分别输入“用户 ID”“用户编号”“用户名称”“密码”。查询“用户信息”数据表的 SQL 语句如下所示 :

Select

 ' 用户信息 '.UserID As ' 用户 ID',

 ' 用户信息 '.UserNumber As ' 用户编号 ',

 ' 用户信息 '.'Name' As ' 用户名称 ',

 ' 用户信息 '.UserPassword As ' 密码 '

From

 ' 用户信息 '

保存创建的查询

查询创建工具窗口中单击构建按钮,关闭该窗口。在工具栏中单击保存按钮,打开查询名对话框,在该对话框中输入查询名“查询 0601”,如图 6-4 所示,然后单击确定按钮保存刚才创建的查询。

6-4  【查询名对话框

 查看 SQL 语句

在工具栏中单击解释按钮,显示解释 1】选项卡,完整的 SQL 语句与解释 1】选项卡如图 6-5 所示。

6-5  完整的 SQL语句与解释 1】选项卡 

运行查询

在工具栏中单击运行按钮,运行“查询 0601”,运行结果如图 6-6 所示。

 任务 6-2】查询时选择与设置字段

Select 语句允许使用通配符“*”选择数据表中所有的字段,使用“All”选择所有记录,“All”一般省略不写。Select 关键字与第一个字段名称之间使用半角空格分隔,可以使用多个半角空格,其效果等效于使用一个空格。SQL 语句中各部分之间必须使用空格分隔(SQL语句中的空格必须是半角空格,如果输入全角空格,则会出现错误提示信息)。

使用 Select 语句时,返回结果中的列标题与数据表或视图中的字段名称相同。查询时可以使用 As 关键字来为字段或表达式指定标题名称,这些名称既可以用来改善查询输出的外观,也可以用来为一般情况下没有标题名称的表达式分配名称(称为别名)。

任务 6-2-1】查询所有字段

任务描述

查询“用户类型”数据表中的所有字段。

任务实施

首先打开 Windows 命令行窗口,登录 MySQL 服务器,然后使用“Use MallDB ; ”语句选择数据库 MallDB

Select * From 用户类型 ;

任务 6-2-2】查询指定字段

任务描述

查询“用户注册信息”数据表中的所有记录,查询结果只包含“用户编号”“用户名称”“密码”3 列数据。

任务实施

查询对应的 SQL 语句如下 :

Select 用户编号 , 用户名称 , 密码 From 用户注册信息 ;

任务 6-2-3】查询经过计算后的字段。

任务描述

从“订购商品”数据表中查询订单商品应付金额,查询结果包含“订单编号”“商品编号”“购买数量”“优惠价格”“优惠金额”“应付金额”6 列数据。其中“应付金额”为计算字段,计算公式为“购买数量 * 优惠价格 - 优惠金额”。

任务实施

查询对应的 SQL 语句如下。

Select 订单编号 , 商品编号 , 购买数量 , 优惠价格 , 优惠金额 ,

                     购买数量 * 优惠价格 - 优惠金额 As 应付金额 From 订购商品 ;

任务 6-2-4】查询时为查询结果指定别名

任务描述

查询“用户信息”数据表中的全部用户数据,查询结果只包含“UserNumber”“Name”“UserPassword”3 列数据,要求这 3 个字段输出时分别以“用户编号”“用户名称”“密码”中文名称显示。

任务实施

查询对应的 SQL 语句如下。

Select UserNumber As 用户编号 , Name As 用户名称 , UserPassword As 密码

From 用户信息 ;

任务 6-3】查询时选择行

Where 子句后面是一个用逻辑表达式表示的条件,用来限制 Select 语句检索的记录,即查询结果中的记录都应该是满足该条件的记录。数据表中所有的字段都可以出现在 Where 子句的表达式中,不管它是否出现在要检索的字段列表中。

任务 6-3-1】Where 子句中使用比较查询筛选记录

任务描述

1)从“图书信息”数据表中检索作者为“陈承欢”的图书信息。

2)从“图书信息”数据表中检索 2020 年之后出版的图书信息。

任务实施

从“图书信息”数据表中检索作者为“陈承欢”的图书信息

1 项任务对应的 SQL 查询语句如下 :

从“图书信息”数据表中检索 2020 年之后出版的图书信息

2 项任务对应的 SQL 查询语句如下 :

任务 6-3-2】查询时去除重复项

任务描述

从“商品信息”数据表中检索所有商品的商品类型,并去除重复项。

任务实施

查询对应的 SQL 语句如下 :

任务 6-3-3】使用 Limit 关键字查询限定数量的记录

任务描述

1)从“图书信息”数据表中检索前 5 种图书的数据。

2)从“图书信息”数据表中检索第 2 种至第 4 种图书的数据。

以上两项查询的结果只需包含“商品编号”“图书名称”两个字段。

任务实施

从“图书信息”数据表中检索前 5 种图书的数据

从“图书信息”数据表中检索前 5 种图书的数据对应的 SQL 语句如下 :

从“图书信息”数据表中检索第 2 种至第 4 种图书的数据

从“图书信息”数据表中检索第 2 种至第 4 种图书的数据对应的 SQL 语句如下 :

Select 商品编号 , 图书名称 From 图书信息 Limit 1 , 3 ;

任务 6-3-4】使用 Between And 关键字创建范围查询

任务描述

从“图书信息”数据表中检索出版日期在“2019-10-1”和“2021-05-1”之间的图书信息,查询结果要求只需包含“商品编号”“图书名称”“出版日期”3 个字段。

任务实施

查询对应的 SQL 语句如下 :

Select 商品编号 , 图书名称 , 出版日期 From 图书信息

           Where 出版日期 Between '2019-10-01' And '2021-05-01' ;

任务 6-3-5】使用 In 关键字创建查询

任务描述

从“图书信息”数据表中检索出“陈承欢”“王振世”“王斌会”3 位作者编写的图书信息,查询结果要求只需包含“商品编号”“图书名称”“作者”3 个字段。

任务实施

查询对应的 SQL 语句如下 :

Select 商品编号 , 图书名称 , 作者 From 图书信息

            Where 作者 In (' 陈承欢 ',' 王振世 ',' 王斌会 ') ;

查询条件中的表达式“作者 In (' 陈承欢 ',' 陈启安 ',' 陈海林 ')”也可以用表达式“( 作者 ='陈承欢 ') Or ( 作者 =' 王振世 ') Or ( 作者 =' 王斌会 ')”代替,但使用 In 关键字时表达式简短且可读性更好。

任务 6-3-6】使用 Like 创建模糊匹配查询

任务描述

1)从“图书信息”数据表中检索出作者姓“郑”的图书信息。

2)从“图书信息”数据表中检索出作者不姓“陈”的图书信息。

3)从“图书信息”数据表中检索出作者姓名只有 3 个汉字并且姓“王”的图书信息。

任务实施

从“图书信息”数据表中检索出作者姓“郑”的图书信息

1 项任务对应的 SQL 查询语句如下 :

从“图书信息”数据表中检索出作者不姓“陈”的图书信息

2 项任务对应的 SQL 查询语句如下 :

Select 商品编号 , 图书名称 , 作者 From 图书信息 Where 作者 Not Like ' %' ;

从“图书信息”数据表中检索出作者姓名只有 3 个汉字并且姓“王”的图书信息

3 项任务对应的 SQL 查询语句如下 :

Select 商品编号 , 图书名称 , 作者 From 图书信息 Where 作者 Like ' __' ;

任务 6-3-7】创建搜索空值的查询

任务描述

从“图书信息”数据表中检索“版次”不为空的图书信息,查询结果只包含“商品编号”“图书名称”“版次”3 个字段。

任务实施

Where 子句中使用 Is Null 可以查询数据表中为 Null 的值,使用 Is Not Null 可以查询数据表中不为 Null 的值。

查询对应的 SQL 语句如下 :

Select 商品编号 , 图书名称 , 版次 From 图书信息 Where 版次 Is Not Null ;

任务 6-3-8】使用聚合函数进行查询

聚合函数用于对一组数据值进行计算并返回单一值,所以也被称为组合函数。Select 子句中可以使用聚合函数进行计算,计算结果作为新列出现在查询结果集中。聚合运算的表达式可以包含字段名称、常量以及由运算符连接起来的函数。

任务描述

1)从“图书信息”数据表中查询价格在 20 元至 45 元之间的图书种数。

2)从“订购商品”数据表中查询购买不同商品的种类数量。

3)从“图书信息”数据表中查询图书的最高价格、最低价格和平均价格。

4)从“订购商品”数据表中查询图书的总购买数量。

任务 6-3-9】使用 And 创建多条件查询

任务描述

从“图书信息”数据表中检索作者为“陈承欢”,并且出版日期在 2020 年之后的图书信息,查询结果要求只需包含“商品编号”“图书名称”“作者”“出版日期”4 个字段。

任务实施

查询对应的 SQL 语句如下 :

Select 商品编号 , 图书名称 , 作者 , 出版日期

           From 图书信息

           Where 作者 =' 陈承欢 ' And Year( 出版日期 )>2020 ;

任务 6-3-10】使用 Or 创建多条件查询

任务描述

从“图书信息”数据表中检索作者为“陈承欢”或者出版日期在“2020-5-1”年之后的图书信息,查询结果要求只需包含“商品编号”“图书名称”“作者”“出版日期”4 个字段。

任务实施

查询对应的 SQL 语句如下 :

Select 商品编号 , 图书名称 , 作者 , 出版日期

          From 图书信息

          Where 作者 =' 陈承欢 ' Or 出版日期 >'2020-05-01' ;

任务 6-3-11】将查询结果保存到另一个数据表中

任务描述

对“订购商品”数据表中从各个出版社购买图书的数量合计、金额合计进行统计,并将出版社名称、数量合计、金额合计和图书名称列表等数据存储到数据表“图书汇总信息”中。

任务实施

首先创建一个数据表“图书汇总信息”,对应的 SQL 语句如下 :

Create Table 图书汇总信息 ( 出版社名称 varchar(16) , 数量合计 int ,

                                             金额合计 decimal(10,2) , 图书名称列表 varchar(100)) ;

然后向数据表“图书汇总信息”中插入查询语句的执行结果,对应的 SQL 语句如下 :

Insert Into 图书汇总信息

       Select 出版社信息 . 出版社名称 ,

                Sum( 订购商品 . 购买数量 ) ,

                Sum( 订购商品 . 购买数量 * 订购商品 . 优惠价格 - 优惠金额 ) ,

                Group_Concat( 图书信息 . 图书名称 )

       From   订购商品 , 图书信息 , 出版社信息

       Where 订购商品 . 商品编号 = 图书信息 . 商品编号

                  And 图书信息 . 出版社 = 出版社信息 . 出版社 ID

       Group By 出版社信息 . 出版社名称 ;

任务 6-4】对查询结果进行排序

任务实施

任务 6-5】分组进行数据查询

任务实施

6.2 创建多表连接查询

实现从两个或两个以上数据表中查询数据且结果集中出现的字段来自两个或两个以上的数据表的检索操作称为连接查询。连接查询实际上是通过各个数据表之间的共同字段的相关性来查询数据,首先要在这些数据表之间建立连接,然后再从数据表中查询数据。连接的类型分为内连接、外连接和交叉连接,其中外连接包括左外连接、右外连接和全外连接两种。连接查询的格式有两种 :

2 项任务对应的 SQL 查询语句如下 :

任务 6-6】创建基本连接查询

任务实施

任务 6-7】创建内连接查询

内连接是组合两个数据表的常用方法。

任务实施

任务 6-8】使用 Union 语句创建多表联合查询

其语法格式如下 :

Select 语句 1

               Union | Union All

Select 语句 2

               Union | Union All

Select 语句 n ;

使用 Union 运算符将两个或多个 Select 语句的执行结果组合成一个结果集时,可以使用关键字“All”指定结果集中将包含所有记录而不删除重复的记录 ;如果省略 All,将从结果集中删除重复的记录。

使用 Union 联合查询时,结果集的字段名称与 Union 运算符中第 1 Select 语句的结果集中的字段名称相同,另一个 Select 语句的结果集的字段名称将被忽略。

 任务描述

数据库 MallDB 的“订购商品”数据表中的数据主要包括“商品”和“图书”两大类,在 MallDB 数据库中已有“商品信息”数据表和“图书信息”数据表,其中两个数据表包括4 个公共字段,分别为“商品编号”“商品名称”“商品类型”“价格”。使用联合查询将两个数据表的数据合并(商品数据在前,图书数据在后),联合查询时会增加一个新列“商品分类”,其值分别为“非图书商品”和“图书”。

任务实施

对应的 SQL 查询语句如下 :

Select 商品编号 , 商品名称 , 商品类型 As 商品类型编号 , 价格 ,

   ' 非图书商品 ' As 商品分类

From 商品信息

Union All

Select 商品编号 , 图书名称 , 商品类型 As 商品类型编号 , 价格 , ' 图书 '

From 图书信息 ;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2109897.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

web前端-HTML常用标签案例

体育新闻&#xff1a; 代码: <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title&g…

轻翼AI 1.1版本发布!多轮对话、多模态等等你期待的全都有

轻翼 AI 是一款低门槛的 AI 智能体搭建平台。即便是没有任何编程基础的人&#xff0c;也可以通过轻翼 AI 快速搭建出各种由LLM&#xff08;大语言模型&#xff09;驱动的企业级AI智能体。 智能体&#xff1a;拥有独立人设和岗位职责&#xff0c;熟悉企业知识且能够调用技能&…

下载Mongodb 4.2.25 版本教程

1、MongoDB 安装包的下载链接 Download MongoDB Community Server | MongoDB 进入如下截图&#xff1a; 2、查找历史版本 往下拉&#xff0c;点击“...”,找到”Archived releases”,点击进入 、 3、下载Mongodb 4.2.25 版本 找到如下图4.2.25版本下载链接&#xff0c;点击就可…

Python爬虫使用实例-漫kzhan

环境配置 pip install shutil parsel pillow pypdf1/ 单个章节 singleChapter 需要获取参数&#xff1a;chapter_id与comic_id&#xff0c;可能要sign和uid 获取请求地址 urlhttps://comic.mkzhan.com/chapter/content/v1/ # 请求地址获取请求参数 data{chapter_id:499…

LiveQing视频点播流媒体RTMP推流服务功能-支持大疆等无人机RTMP推流支持OBS推流一步一步搭建RTMP视频流媒体服务示例

LiveQing支持大疆等无人机RTMP推流支持OBS推流一步一步搭建RTMP视频流媒体服务示例 1、流媒体服务搭建2、推流工具准备3、创建鉴权直播间4、获取推流地址5、配置OBS推流6、推流及播放7、获取播放地址7.1 页面查看视频源地址7.2 接口查询 8、相关问题8.1、大疆无人机推流花屏 9、…

湖南(竞品调研)源点咨询 品牌进行有效竞争对手分析之浅见

在做品牌竞品调研时&#xff0c;首先在选择对标品牌的时候定要选择同赛道的&#xff0c;其次要深入地做好调研&#xff0c;搜集同品类、同赛道的品牌、门店调研。 同时&#xff0c;对竞品的调研一定要全面的分析他们的优势、劣势&#xff0c;充分学习他们身上的优点&#xff0…

2024 年全国大学生数学建模竞赛论文资料

获取比赛资料&#xff0c;请关注WX&#xff1a;“小何数模”&#xff01; &#xff08;需要完整B、C和E题资料请关注WX&#xff1a;“小何数模”&#xff01;&#xff0c;获取资料链接&#xff01;&#xff09; 经过团队努力&#xff0c;今年国赛数学建模B、C和E题完整论文资…

【mysql】mysql之主从部署以及介绍

本站以分享各种运维经验和运维所需要的技能为主 《python零基础入门》&#xff1a;python零基础入门学习 《python运维脚本》&#xff1a; python运维脚本实践 《shell》&#xff1a;shell学习 《terraform》持续更新中&#xff1a;terraform_Aws学习零基础入门到最佳实战 《k8…

高压喷雾车的功能与应用_鼎跃安全

在一次森林火灾中&#xff0c;位于山区的一个小型度假村附近突然起火&#xff0c;由于山风强劲&#xff0c;火势迅速蔓延&#xff0c;消防部门立即调派多辆高压喷雾车赶往现场。在扑救过程中&#xff0c;传统消防车难以进入崎岖的山路&#xff0c;但高压喷雾车凭借其高机动性顺…

调度台在现代社会中发挥哪些重要作用

在当今这个高度信息化、快节奏的社会中&#xff0c;调度台作为各行各业运行管理的中枢神经&#xff0c;正发挥着日益重要的作用。它不仅是一个物理上的工作平台&#xff0c;更是信息汇聚、指令发出、资源调配的核心节点&#xff0c;对于保障社会正常运转、提升服务效率、应对突…

百度智能云向量数据库创新和应用实践分享

本文整理自第 15 届中国数据库技术大会 DTCC 2024 演讲《百度智能云向量数据库创新和应用实践分享》 在 IT 行业&#xff0c;数据库有超过 70 年的历史了。对于快速发展的 IT 行业来说&#xff0c;一个超过 70 年历史的技术&#xff0c;感觉像恐龙一样&#xff0c;非常稀有和少…

JVM系列(六) -对象的创建过程

一、摘要 在之前的文章中,我们介绍了类加载的过程和 JVM 内存布局相关的知识。本篇我们综合之前的知识,结合代码一起推演一下对象的真实创建过程,以及对象创建完成之后在 JVM 中是如何保存的。 二、对象的创建 在 Java 中,创建对象的方式有很多种,比如最常见的通过new …

【SpringBoot】使用Redis

目录 0. 安装Redis 1. 导入依赖 2. 配置Redis 3. idea连接Redis 4. 使用Redis简单实现记录访问次数 1. 配置拦截器 2. 定义拦截器 3. 控制器类 0. 安装Redis 我使用的是本地Redis服务器&#xff0c;安装过程。安装完成后启动Redis服务。 1. 导入依赖 <!-- red…

SQL常见100面试题解析

文章目录 内容简介SQL 初级查询SQL 高级查询设计与开发总结 内容简介 本文介绍并分析了常见的 100 道 SQL 面试题&#xff0c;主要分为三个模块&#xff1a;SQL 初级查询、SQL 高级查询以及数据库设计与开发。内容结构如下图所示&#xff1a; 本文主要使用三个示例表&#xf…

Github 2024-09-06 Java开源项目日报Top10

根据Github Trendings的统计,今日(2024-09-06统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Java项目9TypeScript项目2非开发语言项目1JavaGuide - Java 程序员学习和面试指南 创建周期:2118 天开发语言:Java协议类型:Apache License …

Java队列详细解释

队列 一、什么是队列&#xff08;Queue&#xff09; java队列是一种线性数据结构&#xff0c;它的特点是先进先出。在队列中&#xff0c;元素的添加&#xff08;入队&#xff09;操作在队尾进行&#xff0c;而元素的移除&#xff08;出队&#xff09;操作则在队头进行。因此&a…

『功能项目』账号登陆注册界面UI搭建【27】

打开上一篇26DOTween动态文字的项目&#xff0c; 本章要做的事情是搭建账号登录界面&#xff0c;输入账号及密码存储到本地数据库&#xff0c;本地数据库数据是否可登陆游戏进入游戏场景&#xff0c;如果没有账号可以通过账号注册来进入游戏&#xff0c;之后每次账号输入使用注…

项目日志——框架模块设计实用工具类的设计、实现、测试

文章目录 框架模块设计功能叙述模块划分模块关系图 实用工具类设计实现测试 框架模块设计 功能叙述 日志系统的作用就是将一条消息格式化指定格式的字符串之后&#xff0c;写入到指定位置 这个指定位置就有说法了 标准输出指定文件滚动文件 我们可以写入到其中的一种&…

半天攻略:用ChatGPT快速搞定高质量论文,从选题到完稿一站式指南!

在学术论文的撰写过程中&#xff0c;ChatGPT可以作为一个强大的辅助工具&#xff0c;帮助完成从确定主题到整理参考文献的各个环节。接下来&#xff0c;我们将详细介绍如何利用ChatGPT提升论文写作的效率和质量。 确定论文主题 初步探索&#xff1a;通过ChatGPT探索主题&#…

UAEXpert连接kepserver的OPC服务时,出现BadCertificateHostNamelnvalid报错--解决办法

描述&#xff1a; 虚拟机win10安装kepserver&#xff0c;本机的uaexpert软件连接虚拟机上的OPC UA服务&#xff0c;遇到BadCertificateHostNamelnvalid报错问题 报错信息如下&#xff1a; Error BadCertificateHostNamelnvalidwas returned during CreateSession,press Ignor…