SQL简单查询-2

目录

第一关任务描述

相关知识

检索数据表中一个字段的内容

检索数据表中多个字段的内容

检索数据表中所有字段的内容

编程要求

测试说明

第一关实验代码:

 第二关任务描述

相关知识

带限制条件的查询

表达式查询

编程要求

第二关实验代码

第三关任务描述

相关知识

使用WHERE语句检索单范围数据

使用WHERE语句检索双范围数据

使用WHERE语句检索不匹配某条件的语句

编程要求

测试说明

第三关实验代码


第一关任务描述

本关任务:

  • 用 SELECT 语句检索数据表中指定字段的数据;

  • 用 SELECT 语句检索数据表中所有字段的数据。

相关知识

为了完成本关任务,你需要掌握:1.如何获取数据表中指定字段的数据,2.如何获取数据表中的所有数据。

若想使用 SELECT 语句来检索数据表中的数据,你至少得弄清楚两个重要的信息:(1) 你想检索的是什么?(2) 你想检索的内容它在什么地方?

检索数据表中一个字段的内容

我们将从最简单的 SELECT 语句开始学习。

语法规则为: SELECT 字段名 FROM 表名

举个例子 我们想从表 Customers 中得到 cust_name 字段所有的内容,即所有人的姓名。表 Customers 的内容如下图所示:

输入:

SELECT cust_name
FROM Customers

输出:

我们成功从表 Customers 中检索到了字段 cust_name 的内容。

检索数据表中多个字段的内容

如果我想检索更多的字段呢?当然可以做到,而且语法结构与检索单个字段的内容类似,只需要你把想要检索的字段,统统放到 SELECT 后面就可以了,记得要加逗号隔开。

语法规则为: SELECT 字段名1, 字段名2, 字段名3 FROM 表名

举个例子 我们想从表 Customers 中得到 cust_id 和 cust_name 字段所有的内容。

输入:

SELECT cust_id, cust_name
FROM Customers

输出:

可以看到,我们成功从表 Customers 中检索到了字段 cust_id 和 cust_name 的内容。

检索数据表中所有字段的内容

如果我想检索一张表内的所有字段呢?是不是需要我把字段一个一个列出来呀?如果我不记得字段都有哪些了怎么办呢?当然有解决办法! 我们可以通过在 SELECT 语句后使用 * 来返回表内所有字段的内容。

语法规则为: SELECT * FROM 表名

举个例子 我们想从表 Customers 中得到所有字段的内容。

输入:

SELECT *
FROM Customers

输出:

我们成功输出了表 Customers 中所有字段的所有内容。很简单对不对?

下面轮到你们来试一试了。

编程要求

我们已经为你建好了数据库与数据表,并添加了相应的数据内容。 你只需根据右侧提示,完成以下任务:

  • 补全右侧代码片段中 retrieving multiple column 下 Begin-End 区间的代码,检索表 Products 中字段 prod_name 和 prod_price 的所有内容;

  • 补全右侧代码片段中 retrieving all column 下 Begin-End 区间的代码,检索表 Products 中所有字段的内容。

其中表 Products 的结构如下图所示;

测试说明

测试过程:

  • 本关涉及到的测试文件是 step1_test.sh ,平台将运行用户补全的 step1.sql 文件,得到数据;

  • 将得到的数据与答案比较,判断代码是否正确。

如果操作正确,你将得到如下的结果:

第一关实验代码:

USE Mall
GOSET NOCOUNT ON---------- retrieving multiple column ----------
-- ********** Begin ********** --
select prod_name,prod_price from Products;-- ********** End ********** --GO---------- retrieving all column ----------
-- ********** Begin ********** --
select * from Products;-- ********** End ********** --GO

 第二关任务描述

本关任务:

  • 查询数据表中的指定字段的数据;

  • 查询数据表中指定字段运算后的数据。

相关知识

为了完成本关任务,你需要掌握:1.使用限制关键字查询数据表中的指定字段的内容,2.使用运算符查询数据表中指定字段运算后的内容。

带限制条件的查询

SELECT 语句可以帮你返回所有匹配的内容,甚至整张表的内容。但是如果你仅仅是想要第一行的数据或者前几行的数据怎么办呢?好消息是我们可以通过限制条件来查询,不过限制条件的语法在各个数据库中的语法是不同的。在 SQL Server 中:

语法规则为: SELECT TOP 行数 字段名 FROM 表名

举个例子 我们想从表 Customers 中得到 cust_name 字段的前 3 行内容。表 Customers 的内容如下图所示:

输入:

SELECT TOP 3 cust_name
FROM Customers

输出:

当然,如果你使用的是 MYSQL 或者其他数据库,语法可不一样啊,你得去问 google 咯^-^。

表达式查询

有时候,你并不想知道某个字段的内容,而是想知道经过处理后的内容。这种情况有很多。比如,你想知道这一批的书打6折后都是多少钱?你想知道字段 A 和字段 B 加起来是多少?这是可以做到的,我们可以使用表达式查询来达到此目的。

语法规则为: SELECT 包含字段名的表达式 AS 新字段名 FROM 表名

其中,表达式计算的结果会放在新字段名下面,但是新字段名并没有存储在表中,而是暂时把结果返回给你,供你参考。

举个例子 我们想从把表 Customers 中每位消费者的 cust_id 都 +1 。表 Customers 的内容与上例的相同。

输入:

SELECT cust_id, cust_id+1 as new_cust_id
FROM Customers

输出:

编程要求

我们已经为你建好了数据库与数据表,并添加了相应的数据内容。 你只需:

  • 补全右侧代码片段中 retrieving with limited 下 Begin-End 区间的代码,检索表 Products 中字段 prod_name 的前两项内容;
  • 补全右侧代码片段中 retrieving with expression 下 Begin-End 区间的代码,检索表 Products 中字段 prod_price 的内容,并检索到字段 prod_price 打8折后的价钱,命名该打折后的价格为 discount_price 。

其中表 Products 的结构如下图所示:

测试说明

测试过程:

  • 本关涉及到的测试文件是 step2_test.sh ,平台将运行用户补全的 step2.sql 文件,得到数据;

  • 将得到的数据与答案比较,判断代码是否正确。

如果操作正确,你将得到如下的结果:

第二关实验代码

USE Mall
GoSET NOCOUNT ON---------- retrieving with limited ----------
-- ********** Begin ********** --
select top 2 prod_name 
from Products;-- ********** End ********** --
GO---------- retrieving with expression ----------
-- ********** Begin ********** --
select prod_price,(prod_price*0.8) as discount_price
from Products-- ********** End ********** --
GO


第三关任务描述

本关任务:使用 WHERE 语句和逻辑表达式,检索数据表中指定字段的符合条件的数据。

相关知识

为了完成本关任务,你需要掌握:如何使用 WHERE 语句和操作符来选择符合条件的数据。

在实际情况中,我们不仅需要对某字段的全部数据进行检索,更多的是需要对符合我们需求的数据进行检索。SQL 语言的发明者当然想到了这些,为我们提供了更多的方法来检索你想要的数据。

WHERE 语句就是这样一种存在,只要把你的需求正确地放在 WHERE 后边,它就能帮你检索到你想要的内容。

下表为与 WHERE 语句搭配的操作符列表:

使用WHERE语句检索单范围数据

如果你想在房屋中介数据库中,寻找小于100万的房子,你应该怎么做?你是不是很自然的就想到了要用操作符 < 的。

让我们举个例子来看看,检索单范围数据是怎么实现的:

我们想从表 Customers 中找到消费大于 1000 的人。表 Customers 的内容如下图所示:

输入:

SELECT cust_name, cost
FROM Customers
WHERE cost > 1000

输出:

不仅是 > ,其他操作符 < , <= , >= , !< , !> 的使用方法也是一样的。

使用WHERE语句检索双范围数据

还有一种情况,就是你心目中有一个理想的区间范围。比如你想买房,不能太便宜,因为便宜的有可能又小又偏僻,也不能太贵,因为。。。呵呵大家懂的。这时候,你就需要划定一个范围,SQL 很贴心的为大家提供了自然语言关键字,用来划定数字的范围。

语法规则为: WHERE 字段名 BETWEEN 数字1 AND 数字2

举个例子 我们想从表 Customers 中找到消费在 1000~3000 之间的人。表 Customers 的内容和上例相同。

输入:

SELECT cust_name, cost
FROM Customers
WHERE cost BETWEEN 1000 AND 3000

输出:

Tips: 注意,使用 BETWEEN...AND... 时一定要记住较小的数在前边,较大的数在后边!

使用WHERE语句检索不匹配某条件的语句

有很多人可能有过这样的感觉,问你想要什么样的男/女朋友,你可能说想要这样的,那样的,好像都不错,看感觉吧。虽然你可能不知道你最想要什么,但是你一定知道你不想要什么。

SQL 语句也一样,它为你提供了选择不想要什么的机会。

举个例子 我们想从表 Customers 中找到消费者不在 New York 的人。表 Customers 的内容和上例相同。

输入:

SELECT cust_name, cust_city
FROM Customers
WHERE cust_city <> 'New York'

Tips: 注意,在 SQL Server 中,不等于只能用 <> 符号,不能使用 != 符号。

编程要求

我们已经为你建好了数据库与数据表,并添加了相应的数据内容。 你只需:

  • 补全右侧代码片段中 retrieving with range 下 Begin-End 区间的代码,检索表 Products 中字段 prod_price 价钱介于 3 和 5 的内容,要求显示出商品名称和价钱;

  • 补全右侧代码片段中 retrieving with nomatches 下 Begin-End 区间的代码,检索表 Products 中除了 Lion toy 的商品名称和价钱。

其中表 Products 的内容如下图所示:

测试说明

测试过程:

  • 本关涉及到的测试文件是 step3_test.sh ,平台将运行用户补全的 step3.sql 文件,得到数据;

  • 将得到的数据与答案比较,判断代码是否正确。

如果操作正确,你将得到如下的结果:

第三关实验代码

USE Mall
GoSET NOCOUNT ON---------- retrieving with range ----------
-- ********** Begin ********** --
select prod_name,prod_price
from Products
where prod_price between 3 and 5-- ********** End ********** --GO---------- retrieving with nomatches ----------
-- ********** Begin ********** --
select prod_name,prod_price
from Products
where prod_name <> 'Lion toy'-- ********** End ********** --GO

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

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

相关文章

【电机-电机控制】

电机-电机控制 ■ 步进电机■ 简介 ■■ ■ 步进电机 ■ 简介 步进电机是一个把电脉冲信号转换为角位移或线位移动的电动机。 ■ ■

(delphi11最新学习资料) Object Pascal 学习笔记---第7章第5节(完整的TDate类)

7.5.3 完整的TDate类 ​ 在本章中&#xff0c;我向您展示了TDate类不同版本的源代码的片段。第一个版本基于三个整数来存储年份、月份和日期&#xff1b;第二个版本使用RTL提供的TDateTime类型的字段。以下是定义TDate类的单元的完整接口部分&#xff1a; unit Dates; interf…

零基础入门多媒体音频(5)-alsa(1)

alsa是音频最重要的框架&#xff0c;没有之一。接下来一个月时间在总结工作知识的主线上。单开个音频支线讲解alsa。说实话&#xff0c;alsa这块我也不是很精通。只在过去的项目中增加 一路substream实现低延时。我打算从下面四个方面去学习alsa。 1.alsa官网。网址如下&#x…

汉明校验·简明教程

汉明校验 一、简介 汉明码是由 Richard Hanming 于 1950 年提出的&#xff0c;它具有一位纠错能力。 新增的汉明码校验位数应满足如下关系&#xff1a; 2 k ⩾ n k 1 2^{k}\geqslant nk1 2k⩾nk1&#xff0c;其中k为校验位位数&#xff0c;n位数据位数。 二、汉明码生成 确…

Python学习从0到1 day18 Python可视化基础综合案例 3.动态柱状图

夜色难免黑凉&#xff0c;前行必有曙光。 —— 24.3.25 目录&#xff1a; 01.基础柱状图 02.基础时间线柱状图 03.GDP动态柱状图绘制 一、基础柱状图构建 掌握构建一个基础的柱状图并能够反转x和y轴 1.通过Bar功能构建基础柱状图 基础柱状图的开发 # 导包 Bar包&#xff0c;生…

吴恩达2022机器学习专项课程(一) 第一周课程实验:成本函数(Lab_04)

问题预览 1.实验目的是什么&#xff1f; 2.一元线性回归的一元是什么意思&#xff1f; 3.如何实现一元线性回归的成本函数&#xff1f; 4.b确定&#xff0c;w和成本函数走势的关系是&#xff1f; 5.w&#xff0c;b和等高线图的关系是&#xff1f; 6.什么情况下&#xff0c;可以…

linux查看本机开放哪些端口,以及某个端口是否开放

一、查看Linux系统上已经打开的端口 netstat -tuln二、查看某个端口是否开放 以3306端口为例&#xff1a; 1、nestat sudo netstat -tuln | grep 3306这条命令将列出当前正在运行的网络服务&#xff0c;并筛选出端口号为3306的服务。如果3306端口处于开放状态&#xff0c;则…

反相器的工艺结构原理及选型参数总结

🏡《总目录》 目录 1,概述2,工作原理3,结构特点3.1,输入与输出电平相反3.2,增益小于13.3,输入阻抗高,输出阻抗低4,工艺流程4.1,硅晶圆准备4.2,电路设计4.3,光刻图形定义4.4,离子注入4.5,沉积4.6

javaWeb个人日记(博客)管理系统

一、简介 在快节奏的生活中&#xff0c;记录生活点滴、感悟和思考是一种重要的方式。基于此&#xff0c;我设计了一个基于JavaWeb的个人日记本系统&#xff0c;旨在帮助用户轻松记录并管理自己的日记。该系统包括登录、首页、日记列表、写日记、日记分类管理和个人中心等功能&…

动态多态的注意事项

大家好&#xff1a; 衷心希望各位点赞。 您的问题请留在评论区&#xff0c;我会及时回答。 多态的基本概念 多态是C面向对象三大特性之一&#xff08;多态、继承、封装&#xff09; 多态分为两类&#xff1a; 静态多态&#xff1a;函数重载和运算符重载属于静态多态&#x…

深入了解 Linux 中的 MTD 设备:/dev/mtd* 与 /dev/mtdblock*

目录 前言一、什么是MTD子系统&#xff1f;二、 /dev/mtd* 设备文件用途注意事项 三、/dev/mtdblock* 设备文件用途注意事项 三、这两种设备文件的关系四、关norflash的一些小知识 前言 在嵌入式Linux系统的世界里&#xff0c;非易失性存储技术扮演着至关重要的角色。MTD&#…

Spring Aop 源码解析(下)

ProxyFactory选择cglib或jdk动态代理原理 ProxyFactory在生成代理对象之前需要决定到底是使用JDK动态代理还是CGLIB技术: config就是ProxyFactory对象,把自己传进来了,因为ProxyFactory继承了很多类,其中一个父类就是ProxyConfig // config就是ProxyFactory对象// 是不是…

开发npm上传发布

第一步&#xff1a;注册npm账号 首先去官网注册一个npm账号&#xff0c;npm官网 第二步&#xff1a;创建项目 新建文件夹&#xff0c;并执行npm init 填写对应的信息name就是插件名称。 文件夹下就会生成一个package.json文件。 你可以在项目编辑你的插件。 第三步&…

第十二届蓝桥杯物联网试题(省赛)

思路&#xff1a; 这个考了一个RTC的配置&#xff0c;RTC我只配过一次&#xff0c;所以有些生疏&#xff0c;还是不能大意&#xff0c;一些偏僻的考点还是要多练&#xff0c;在获取RTC时间的时候也遇到一些bug,这个后续会用一篇博客将最近遇到的BUG都总结一下 主要的难点还是…

wordpress将图片默认连接到媒体文件

wordpress上传图片后&#xff0c;图片链接可以选择链接到媒体文件或附件页面。如果选择链接到媒体文件&#xff0c;就是链接到了图片的地址了。如果选择链接到附件页面&#xff0c;就是链接到图片所在的attachment页面了。 具体链接到哪里&#xff0c;在wordpress模板制作时&a…

基于GA优化的CNN-LSTM-Attention的时间序列回归预测matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1卷积神经网络&#xff08;CNN&#xff09;在时间序列中的应用 4.2 长短时记忆网络&#xff08;LSTM&#xff09;处理序列依赖关系 4.3 注意力机制&#xff08;Attention&#xff09; 5…

Android15功能和 API 概览

Android 15 面向开发者引入了一些出色的新功能和 API。以下部分总结了这些功能&#xff0c;以帮助您开始使用相关 API。 如需查看新增、修改和移除的 API 的详细列表&#xff0c;请参阅 API 差异报告。如需详细了解新的 API&#xff0c;请访问 Android API 参考文档&#xff0…

FastAPI+React全栈开发03 为什么使用MongoDB

Chapter01 Web Development and the FARM Stack 03 Why use MongoDB FastAPIReact全栈开发03 为什么使用MongoDB In the following paragraphs, we will go through the main features of our selected database system - MongoDB - and give a high-level overview of the …

VSCode基本配置(编辑器)

VSCode基本配置 设置快捷键&#xff1a;Ctrl , 下载中文插件&#xff1a;Chinese&#xff0c;重启一下&#xff0c;如果没有&#xff0c;Ctrl Shift P&#xff0c;搜索&#xff1a;Display Language 主题推荐&#xff1a;Solarized Dark&#xff0c;快捷键&#xff1a;Ct…

速盾:cdn加速效果好吗

CDN&#xff08;Content Delivery Network&#xff09;是一种通过分布在全球多个节点的服务器来加速网络内容传输的技术。CDN加速效果好不好&#xff0c;需要从几个方面来考量。 首先&#xff0c;CDN可以显著提高网站的加载速度。由于CDN服务器分布在全球各地&#xff0c;用户…