IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> 【LeetCode-SQL每日一练】—— 595. 大的国家 -> 正文阅读

[数据结构与算法]【LeetCode-SQL每日一练】—— 595. 大的国家

🎈写在前面

🙋?♂?大家好呀,我是超梦。大家可以叫我小梦~

小伙伴们都知道,不管是在学习中还是日常工作中,几乎天天是要跟数据库打交道的,为了更好的操作数据库,我们的SQL知识储备是必不可少的。想要掌握好SQL,那少不了每天的练习与学习。接下来小梦会带领小伙伴们一起每天刷一道LeetCode-数据库(SQL)相关的题目,然后在文章后例举相关知识点帮助小伙伴们学习与巩固,更好的掌握SQL。

🙋?♂? 小伙伴们如果在学习过程中有不明白的地方,欢迎评论区留言提问,小梦定知无不言,言无不尽。

5a07a437aab648caa0f1925acc3834ab.png


目录

📕SQL题目概述

📕解题思路

📕方法实现

📒方法一——使用or

📒方法二——使用union

📕代码测试

📒方法一

📒方法二

📕知识点小结

📒union与union all的区别


📕SQL题目概述

World 表:

+-------------+---------+
| Column Name | Type    |
+-------------+---------+
| name        | varchar |
| continent   | varchar |
| area        | int     |
| population  | int     |
| gdp         | int     |
+-------------+---------+
World 表:
+-------------+-----------+---------+------------+--------------+
| name        | continent | area    | population | gdp          |
+-------------+-----------+---------+------------+--------------+
| Afghanistan | Asia      | 652230  | 25500100   | 20343000000  |
| Albania     | Europe    | 28748   | 2831741    | 12960000000  |
| Algeria     | Africa    | 2381741 | 37100000   | 188681000000 |
| Andorra     | Europe    | 468     | 78115      | 3712000000   |
| Angola      | Africa    | 1246700 | 20609294   | 100990000000 |
+-------------+-----------+---------+------------+--------------+

name 是这张表的主键
这张表的每一行提供:国家名称、所属大陆、面积、人口和 GDP 值。


如果一个国家满足下述两个条件之一,则认为该国是 大国 :

??? 面积至少为 300 平方公里(即,3000000 km2),或者
??? 人口至少为 2500 万(即 25000000)

编写一个 SQL 查询以报告 大国 的国家名称、人口和面积。按 任意顺序 返回结果表。

查询结果格式如下例所示。

输出:
+-------------+------------+---------+
| name        | population | area    |
+-------------+------------+---------+
| Afghanistan | 25500100   | 652230  |
| Algeria     | 37100000   | 2381741 |
+-------------+------------+---------+

ed4bb89dc8e34175aebfff92fd473b77.gif


📕解题思路

这道题算是很简单的一道题了,小伙伴们可以练练手

题目要查出面积至少为 300 平方公里(即,3000000 km2),或者人口至少为 2500 万(即 25000000)的国家来,并按照题目要求格式输出。题目中给出两个条件就不难得知我们需要用where子句来做条件限定,把上述条件加到where子句后就可以——》...from world where area >= 3000000 or population >= 25000000。


📕方法实现

📒方法一——使用or

我们首先使用where子句,根据题目中要求的两个条件来过滤记录

条件:
  面积超过 300 万平方公里。

  人口超过 2500 万。

因为题目说满足其中一条就可以,那我们可以使用or来连接两个条件。

题解

SELECT
    name, population, area
FROM
    world
WHERE
    area >= 3000000 OR population >= 25000000;

📒方法二——使用union

我们可以根据题目要求的两个条件分别做查询。

条件1:面积超过 300 万平方公里

SELECT name, population, area FROM world WHERE area > 3000000;

条件2:人口超过 2500 万

SELECT name, population, area FROM world WHERE population > 25000000;

然后我们再通过union来连接这两个查询(文章知识点小结部分会有对union以及union all的简单讲解,小伙伴们记得哦~

题解:

SELECT name, population, area FROM world WHERE area > 3000000

UNION

SELECT name, population, area FROM world WHERE population > 25000000;

62b14cb48ac14c51a61a4c898194150d.gif


📕代码测试

📒方法一

SELECT
    name, population, area
FROM
    world
WHERE
    area >= 3000000 OR population >= 25000000;

?执行代码,进行测试

3a84c66c6a2c43e389aaff953cf6a8ef.png

与预期结果一致,测试成功!

44450e8c3d0b456482680eb0538f9ffd.png


📒方法二

SELECT name, population, area FROM world WHERE area > 3000000

UNION

SELECT name, population, area FROM world WHERE population > 25000000;

?执行代码,进行测试

bc19fc122a924f968877c01fb2575108.png

?与预期结果一致,测试成功!

133960cb8beb4a22ba973596400cde25.png


e4822baf45814f70a1a3136b1dec16fe.gif


📕知识点小结

📒union与union all的区别

1. union对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序

2. union all对两个结果集进行并集操作,包括重复行不进行排序

扩展知识

我们可以在最后一个结果集中,通过指定Order by子句来改变排序方式。


😀感谢小伙伴们,如果有什么疑问,欢迎留言询问,小梦定知无不言,言无不尽

faa94a29ffc64681a13b108b81dadf18.gif


883effde5e28440d80d9aee863399420.gif

?

?

?

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2022-02-04 11:17:09  更:2022-02-04 11:17:16 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 17:32:15-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码