4.1 A先生在自己的计算机(电脑)上,使用 CREATE TABLE 语句创建出了
一张空的 Product(商品)表,并执行了如下的 SQL 语句向其中插入数据

start transaction;insert into productvalues('0001', 'T恤', '衣服', 1000, 500, '2009-09-20'),('0002', '打孔器', '办公用品', 500, 320, '2009-09-11'),('0003', '运动T恤', '衣服', 4000, 2800, null);

紧接着,B 先生使用其他的计算机连接上该数据库,执行了如下 SELECT
语句。这时 B 先生能得到怎样的查询结果呢

select *
from product;

提示:如果可以使用DELETE语句,就可以对通过CREATE TABLE语句创建出
的空表执行该操作了

1 行也选取不出来

-- 正确的SQL语句如下
start transaction;insert into productvalues('0001', 'T恤', '衣服', 1000, 500, '2009-09-20'),('0002', '打孔器', '办公用品', 500, 320, '2009-09-11'),('0003', '运动T恤', '衣服', 4000, 2800, null);
commit;

4.2 如下所示,有一张包含 3 条记录的 Product 表

使用如下的 INSERT 语句复制这 3 行数据,应该就能够将表中的数据增加为 6 行。请说出该语句的执行结果

insert into product
select *
from product;

因为商品编号列违反了主键约束,所以会发生错误,1 行也插入不了

4.3 以练习 4.2 中的 Product 表为基础,再创建另外一张包含利润列的新表
ProductMargin(商品利润)

create table product_margin(product_id char(4) primary key not null,product_name varchar(100) not null,sale_price int,purchase_price int,margin int
);

请写出向上述表中插入如下数据的 SQL 语句,其中的利润可以简单地通过
对 Product 表中的数据进行计算(销售单价 - 进货单价)得出

insert into product_margin
(product_id,product_name,sale_price,purchase_price,margin)select product_id,product_name,sale_price,purchase_price,sale_price - purchase_pricefrom product;

4.4 对练习 4.3 中的 ProductMargin 表的数据进行如下更改:1. 将运动 T 恤的销售单价从 4000 日元下调至 3000 日元;2. 根据上述结果再次计算运动 T 恤的利润。更改后的ProductMargin表如下所示。请写出能够实现该变更的SQL语句

update product_margin
set sale_price = 3000
where product_name = '运动T恤';update product_margin
set margin = sale_price - purchase_price
where product_name = '运动T恤';

第4章练习题-SQL基础教程相关推荐

  1. SQL基础教程|第一章:数据库和SQL

    前言: 1.本书在知识点提炼时侧重于实践效果,所以有些理论部分的知识点不会涉及或者几笔带过. 2.在语法实践时将会带入更多的例子和问题以便于理解数据库语法. 3.在所有关于SQL基础教程的文章中的语句 ...

  2. SQL基础教程MICK版 第一章总结

    SQL基础教程MICK版 ···第一章总结 数据库的结构 二维表 SQL操作大概的内容 要注意的规则 表的创建 表的删除与表定义的更新 表的数据键入 数据库的结构 最常见的系统结构就是 客户端\服务器 ...

  3. SQL基础教程MICK版 ···第五章总结

    SQL基础教程MICK版 ···第五章总结 视图 子查询 标量子查询 标量子查询.没有用标量子查询.常量的比较总结 关联子查询 自己的困惑 视图 1.视图的概念 ​ 1)从SQL的角度来看视图就是一张 ...

  4. SQL基础教程MICK版 --第四章总结

    SQL基础教程MICK版 ···第四章总结 DML操作.事务的概念.性质.和表现形式 DML操作之INSERT DML操作之UPDATE DML操作之DELETE.TRUNCATE 事务的概念,DBM ...

  5. SQL基础教程MICK版 ···第三章总结

    SQL基础教程MICK版 ···第三章总结 SELECT语句 关于上表的语句顺序 和 执行顺序 完整的语法结构 GROUP BY需要注意的点 用于限定GROUP BY的 HAVING子句 关于ORDE ...

  6. SQL基础教程MICK版 ···第六章总结

    SQL基础教程MICK版 ···第六章总结 函数 谓语 CASE语句 -- 有点像SWITCH语句 函数 函数的分类 算术函数 聚合函数 字符串函数 转换函数 日期函数 算术函数 ABS括号内数值 返 ...

  7. SQL基础教程MICK版 ···第二章总结

    SQL基础教程MICK版 ···第二章总结 前期准备 SELECT 语句基础 算术运算符.比较运算符和 NOT运算符 特殊的NULL 逻辑运算符 前期准备 应用第一章学的 建一个数据库 在该库中 建立 ...

  8. SQL基础教程MICK版 ···第七、八、九章总结

    SQL基础教程MICK版 ···第七.八.九章总结 表的联结 -- 内联结.外联结 表的合并--- UNION (其他操作对MYSQL不适用.没有看) 关于ROLLUP---显示小计和总计 驱动的概念 ...

  9. sql基础教程和mysql基础教程_书评「SQL基础教程(第2版)」| 你应该知道的基础知识点梳理·上...

    写在前面关于这本书:SQL的基础教程,可以使你在SQL的学习中轻松实现从0到1的过程,循序渐进地掌握SQL的基础知识和技巧.对于零基础来说非常友好,看完能够迅速上手SQL. 关于本文:一篇对这本书的知 ...

最新文章

  1. ADF Jar包循环引用会出问题
  2. 不是所有图像都值16x16个词,清华与华为提出动态ViT
  3. 24分钟学会用JMock进行单元测试
  4. 37款机型升级鸿蒙系统,华为终于想通,为鸿蒙系统敞开大门,37款机型将同步升级...
  5. 安卓手机挂载Linux,android 挂载NFS教程
  6. linux-查看文件相关命令-cat-more-less-head-tail
  7. 四元数姿态解算c语言例程_(21)用四元数插值来对齐IMU和图像帧
  8. 网页版深度学习模型编辑器,搭建运行样样都行,还能3D可视化
  9. Mybatis中的延迟加载的使用方法
  10. html显示文件代码提示,代码提示和代码完成
  11. 轻松取消Excel中的“自动添加超链接”
  12. Windows系统下的socket编程
  13. cass怎么多级放坡_cass土方计算考虑放坡
  14. 新版捷兔云支付网站源码开源版 第三方支付源码 第四方支付源码 免签约支付源码
  15. 【现代信号处理】 15 - 谱分析基础和周期图谱分析
  16. 研发质量管理6大根基
  17. 怎么把手机中的照片做成视频?原来这么简单就可以,涨知识了
  18. Fisher information(费雪信息)和费雪信息矩阵
  19. Wormhole连接教程
  20. 《计算机学报》征稿简则

热门文章

  1. 联想服务器配置RAID
  2. mysql省市级联pid_全国省市级联sql表
  3. Android 四大组件基本介绍
  4. tp报错: SQLSTATE[42000]: Syntax error or access violation: 1055 Expression #1 of SELECT list is
  5. 消息队列中的8个连环炮
  6. 分享十个好用到爆的Python自动化脚本
  7. java组长竞选_竞选小组长的竞选稿
  8. k8s etcd-2 Unhealthy HTTP probe failed with statuscode: 503
  9. Object-C---Swift之(四)强大的Switch
  10. 自动化测试报告浅谈之ExtentReports