首页 > 数据库 >SQL 学习笔记

SQL 学习笔记

时间:2024-05-16 13:53:39浏览次数:8  
标签:语句 purchase product price sale 笔记 学习 SQL SELECT

1,编写一条SQL语句,从 product(商品) 表中选取出“登记日期(regist_date)在2009年4月28日之后”的商品,查询结果要包含 product name 和 regist_date 两列。

SQL 脚本:

select product_name,regist_date
from product
where regist_date >= '2009-04-28'

 

2,NULL 值不等于任何值,查询 NULL 值时需要使用 IS NULL 或者 IS NOT NULL;

SELECT *
  FROM product
 WHERE purchase_price = NULL;

SELECT *
  FROM product
 WHERE purchase_price <> NULL;

SELECT *
  FROM product
 WHERE product_name > NULL;

3,章节中的SELECT语句能够从 product 表中取出“销售单价(sale_price)比进货单价(purchase_price)高出500日元以上”的商品。请写出两条可以得到相同结果的SELECT语句。执行结果如下所示:

select product_name, sale_price, purchase_price
from product
where sale_price - purchase_price >= 500

 

 4,

请写出一条SELECT语句,从 product 表中选取出满足“销售单价打九折之后利润高于 100 日元的办公用品和厨房用具”条件的记录。查询结果要包括 product_name列、product_type 列以及销售单价打九折之后的利润(别名设定为 profit)。

提示:销售单价打九折,可以通过 sale_price 列的值乘以0.9获得,利润可以通过该值减去 purchase_price 列的值获得。

SQL 脚本:

select product_name, product_type, sale_price * 0.9 - purchase_price as profit
from product
where sale_price * 0.9 - purchase_price > 100

 

2.5,请指出下述SELECT语句中所有的语法错误。

SELECT product_id, SUM(product_name)
--本SELECT语句中存在错误。
  FROM product 
 GROUP BY product_type 
 WHERE regist_date > '2009-09-01';

1), 语句中GROUP BY 子句位置不对,需要放在 WHERE 子句后面
2), SELECT 子句中的列名需要与 GROUP BY 子句中的列名中存在;

2.5, 请编写一条SELECT语句,求出销售单价( sale_price 列)合计值大于进货单价( purchase_price 列)合计值1.5倍的商品种类。执行结果如下所示。

SQL 语句:

SELECT product_type, sum(sale_price), sum(purchase_price)
FROM product
group by product_type
having(sum(sale_price) > sum(purchase_price) * 1.5)

 

 

2.6, 此前我们曾经使用SELECT语句选取出了product(商品)表中的全部记录。当时我们使用了 ORDER BY 子句来指定排列顺序,但现在已经无法记起当时如何指定的了。请根据下列执行结果,思考 ORDER BY 子句的内容。

 SQL 语句:

select product_id, product_name, product_type, sale_price,purchase_price,regist_date
from product
order by -regist_date

 

 

标签:语句,purchase,product,price,sale,笔记,学习,SQL,SELECT
From: https://www.cnblogs.com/data-developer/p/18195823

相关文章

  • SpringBoot笔记:SpringBoot启动参数配置
    /usr/local/jdk/jdk1.8.0_261/bin/java-jar-server\##服务模式,linux默认是server模式,window默认是client参数-XX:+HeapDumpOnOutOfMemoryError\##当OOM发生时自动生成HeapD......
  • 软件设计师基础学习 十三
    十三、结构化开发方法13.1*系统分析与概述1,认识、理解当前的环境,获得当前系统的“物理模型”2.从当前系统的“物理模型”抽象出当前系统的“逻辑模型”3.对当前系统的“逻辑模型”进行分析和优化,建立目标系统的“逻辑模型”4.对目标系统的逻辑模型具体化(物理化),建立目标系......
  • 软件设计师基础学习 十四
    十四、面向对象技术14.1面向对象开发概念:对象:由数据及其操作所构成的封装体,是系统中用来描述客观事务的一个实体,是构成系统的一个基本单位。一个对象通常可以由对象名、属性和方法3个部分组成类:现实世界中实体的形式化描述,类将该实体的属性(数据)和操作(函数)封装在一起......
  • VueJS2-学习指南-全-
    VueJS2学习指南(全)原文:zh.annas-archive.org/md5/0B1D097C4A60D3760752681016F7F246译者:飞龙协议:CCBY-NC-SA4.0前言这本书是关于Vue.js的。我们将开始我们的旅程,试图理解Vue.js是什么,它与其他框架相比如何,以及它允许我们做什么。我们将在构建小型有趣的应用程序的同......
  • 抽象代数课程笔记 III —— 域论、伽罗瓦理论
    持续更新。\(\newcommand{\a}{\alpha}\newcommand{\b}{\beta}\newcommand{\D}{\Delta}\newcommand{\eps}{\varepsilon}\newcommand{\ph}{\varphi}\newcommand{\t}{\theta}\newcommand{\la}{\lambda}\newcommand{\si}{\sigma}\newcommand{\d}{......
  • 抽象代数课程笔记 III —— 域论、伽罗瓦理论
    持续更新。\(\newcommand{\a}{\alpha}\newcommand{\b}{\beta}\newcommand{\D}{\Delta}\newcommand{\eps}{\varepsilon}\newcommand{\ph}{\varphi}\newcommand{\t}{\theta}\newcommand{\la}{\lambda}\newcommand{\si}{\sigma}\newcommand{\d}{......
  • JavaSE入门学习
    Java入门学习目录Java入门学习Java特征和优势Java三大版本开发环境搭建JDK下载及安装配置环境变量HelloWorld及简单语法规则使用IDE开发1.创建一个Java项目(IDEA)2.在该项目src目录下new一个class文件3.编辑代码4.运行代码Java特征和优势简单性面向对象可移植性高性能......
  • nodejs学习07——API
    接口一、简介1.1接口是什么接口是前后端通信的桥梁简单理解:一个接口就是服务中的一个路由规则,根据请求响应结果接口的英文单词是API(ApplicationProgramInterface),所以有时也称之为API接口这里的接口指的是『数据接口』,与编程语言(Java,Go等)中的接口语法不同1.2......
  • 一键部署,玩转AI!天翼云Llama 3大模型学习机来了!
    近日,Meta公司发布了其最新研发成果——开源大模型Llama3,共包含Llama38B和Llama370B两种规格,参数量级分别为80亿与700亿,并表示这是目前同体量下性能最好的开源模型。相较于前代产品Llama2,Llama3在预训练数据上扩大了整整7倍(达到15Ttokens),并且在数据质量与训练方式上也进行......
  • mysql命令行增删改查
    新增数据库shop:createdatabaseshop;查看数据库:showdatabases;查看创建数据库的命令:showcreatedatabaseshop;进入数据库: useshop;查看数据表: showtables;创建数据表name:   createtablename(idint,bsvarchar(50));进入数据表:descname可以查看创建表的命......