查询在具有最小内存容量的所有PC中具有最快处理器的PC制造商 (20 分)(两种思路+详解)
一:题目:
本题目要求编写SQL语句, 查询在具有最小内存容量的所有PC中具有最快处理器的PC制造商。
提示:请使用SELECT语句作答。
表结构:
CREATE TABLE product
( maker CHAR(20) , --制造商model CHAR(20) NOT NULL, --产品型号type CHAR(20), --产品类型PRIMARY KEY(model)
);
CREATE TABLE pc
( model CHAR(20) NOT NULL, --型号speed DECIMAL(6,2), --速度ram INT, --内存hd DECIMAL(6,2), --硬盘容量cd CHAR(4), --光驱price INT, --价钱PRIMARY KEY(model),FOREIGN KEY(model) REFERENCES product(model)
二:思路:
1:方式一:从条件到多表联合
分析:1.先拿内存进行分组,求出最小值 为表1
2.求出最小值的型号是多少 但要注意的是要控制住(其的ram为最小)为表2
3.将product和表2联合多表查询
2:方式二:从多表到条件
分析:这里是先将两个表联合起来,在根据条件进行筛选!
三:上码(最后的多表查询为最终结果)
1:方式一:
--1.求出最小值 取出第一行
select ram,max(speed) from PC
group by ram
order by ram
limit 0,1; -- 2.找出 有最小内存容量的所有PC中具有最快处理器 所对应的型号
select modelfrom pc,(select ram,max(speed) as maxspeed from PCgroup by ram order by ram limit 0,1) as tempwhere pc.speed = temp.maxspeedand pc.ram = temp.ram;
--3.多表联合查询
select distinct makerfrom product,(select modelfrom pc,(select ram,max(speed) as maxspeedfrom pcgroup by ram order by ram limit 0,1) as tempwhere pc.speed = temp.maxspeed and pc.ram = temp.ram) as awhere product.model = a.model
方式2:
select makerfrom pc,productwhere pc.model = product.modeland ram = (select min(ram) from pc)and speed = (select max(speed) from pc where ram = (select min(ram) from pc));
四:学习记录:
方式一第一种做法:
--1.求出最小值 取出第一行
select ram,max(speed) from PC
group by ram
order by ram
limit 0,1; -- 2.找出 有最小内存容量的所有PC中具有最快处理器 所对应的型号
select modelfrom pc,(select ram,max(speed) as maxspeed from PCgroup by ram order by ram limit 0,1) as tempwhere pc.speed = temp.maxspeed--3.多表联合查询
select distinct makerfrom product,(select modelfrom pc,(select ram,max(speed) as maxspeedfrom pcgroup by ram order by ram limit 0,1) as tempwhere pc.speed = temp.maxspeed ) as awhere product.model = a.model
可以看到我在步骤二中,并未设置 pc.ram = temp.ram,,这样的后果是控制不住所查询出来的型号内存为最小,
比如:速度相同均为最快,但其内存不同,speed = 133 ram = 16;speed = 133 ram = 24; 如果不控制ram那么的话就会出现两个型号
五:总结:
sql语句逻辑性很强,每个人的逻辑不同,写出来的码也会不同,那么需要兄弟们,多验证数据,加油陌生人!!!!!!我们共勉!!!
查询在具有最小内存容量的所有PC中具有最快处理器的PC制造商 (20 分)(两种思路+详解)相关推荐
- 10-5 4-6 查询在具有最小内存容量的所有PC中具有最快处理器的PC制造商 (10 分)
本题目要求编写SQL语句, 查询在具有最小内存容量的所有PC中具有最快处理器的PC制造商. 提示:请使用SELECT语句作答. #本题目要求编写SQL语句, 查询在具有最小内存容量的所有PC中具有最快 ...
- 服务器加了内存和硬盘不显示不出来,移动硬盘显示不出来怎么办 移动硬盘不显示解决办法【详解】...
随着我们生活对于高科技产品应用呢不断增多,电脑,作为一种能够在生活中提供帮助,在学习中获取课外知识,在工作和办公中能够提高工作效率的产品,它已经成为我们不可缺少的应用工具,硬盘,作为一种连接电脑的设备 ...
- 10-4 6-4 查询厂商“D“生产的PC和便携式电脑的平均价格 (10 分)思路+详解+测试用例
前言:测试用表 贴心杰将这个测试表分享给大家 ,如果大家做题的时候发现那个点过不去,一定不要直接看别人的博客,先自己测试用例,如果思路也对 ,验证数据也对,还有错误 你再看看别人的思路!!! CREA ...
- 两个例子详解并发编程的可见性问题和有序性问题,通过volatile保证可见性和有序性以及volatile的底层原理——缓存一致性协议MESI和内存屏障禁止指令重排
1. 并发编程的可见性问题 2. 并发编程的有序性问题 3. 使用volatile关键字解决可见性问题 4. 可见性问题的本质--缓存不一致 因为cpu执行速度很快,但是内存执行速度相对于CPU很慢, ...
- 7-45 航空公司VIP客户查询 (25 分)(思路+详解+map用法解释+超时解决)兄弟们来呀冲压呀呀呀呀
一:题目 不少航空公司都会提供优惠的会员服务,当某顾客飞行里程累积达到一定数量后,可以使用里程积分直接兑换奖励机票或奖励升舱等服务.现给定某航空公司全体会员的飞行记录,要求实现根据身份证号码快速查询会 ...
- mybatis高级(2)_数据库中的列和实体类不匹配时的两种解决方法_模糊查询_智能标签...
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "- ...
- 内存容量对计算机运行影响大吗,探索内存容量对基础应用的性能影响有多大
前段时间,我们针对内存容量对游戏性能的影响做了系统的探究--硬糖:探索内存容量对整机游戏性能影响有多大?那么,在应用范围更加广泛的日常工作中?不同容量,单通道.双通道内存是否也会也有着极大的性能差别呢 ...
- C++中运行一个程序的内存分配情况及qt中的内存管理机制
一个由c/C++编译的程序占用的内存分为以下几个部分 1.栈区(stack)- 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等.其操作方式类似于数据结构中的栈. 2.堆区(heap) - 一 ...
- oracle有哪两种内存结构,Oracle体系结构详解(物理构造,内存结构和逻辑结构)...
当前位置:我的异常网» 数据库 » Oracle体系结构详解(物理构造,内存结构和逻辑结构 Oracle体系结构详解(物理构造,内存结构和逻辑结构) www.myexceptions.net 网友分 ...
最新文章
- 图像处理分类、一般流程与算法
- 【转】[C# 基础知识系列]专题四:事件揭秘
- 【Android】Apk安装和删除
- 银行委托第三方催收信用卡欠款,是合法吗?
- xmanager远程桌面控制linux
- SP2010开发和VS2010专家食谱--第二章节--工作流
- 白话经典算法系列之一 冒泡排序的三种实现
- 量化感知训练实践:实现精度无损的模型压缩和推理加速
- Wireshark和TcpDump抓包分析心得
- 电脑关机很慢是怎么回事
- python强大的数据类型转换
- [软件更新]迅雷(Thunder)5.9.2.927版本发布
- 算法:回溯七 Permutation Sequence数组全排列定位
- android与单片机wifi通信原理图,基于单片机的wifi模块原理图分析
- 如何使div 上下左右居中 css
- [嵌入式方案][cx32l003] 一个健壮的BootLoader系统
- nRF53832开发环境搭建
- php 根号2计算过程,根号换算(开方计算器在线)
- C/C++编程:long long类型
- 如何使用 Echarts 和 SVG文件写大屏可视化地图 ?
热门文章
- 学习ASP.NET Core,你必须了解无处不在的“依赖注入”
- 微型计算机及接口技术试题,1月自考微型计算机及其接口技术试题及答案解析...
- mondrain配置mysql_mondrian 4.7 源码部署(示例代码)
- Google 开源的 Android 排版库:FlexboxLayout
- Android之提示Unable to instantiate fragment***MyLikeFragment .could not find Fragment constructor
- C和指针之函数递归实现把amount表示的值转换为单词形式written_amount(unsigned int amount,char *buffer)
- Tree的前序序列化
- Android之事件总线EventBus详解
- 1小时零基础赚一千,教你完成图书管理系统,不用打代码绝对学得会![完整全站教学 IVX 实战第四篇]
- 3%7python_Centos7 Python2 升级到Python3