SQL语句高级查询(适用于新手)

SQL查询语句的下载脚本链接!!!
【免费】SQL练习资源-具体练习操作可以查看我发布的文章资源-CSDN文库
https://download.csdn.net/download/Z0412_J0103/89908378
本文旨在为那些编程基础相对薄弱的朋友们提供一份详尽的指南,特别聚焦于在IDEA(IntelliJ IDEA)、MySQL以及Navicat等广受欢迎的开发与数据库管理工具中执行SQL语句的实践操作。无论你是编程初学者,还是希望在数据库操作上有所提升的开发者,本文将是你不可或缺的学习资源。我们的演示将以IDEA为核心平台,但所提供的知识和技巧同样适用于MySQL命令行、Navicat等其他环境,确保你的学习之路宽广且实用。
在探索数据库的奥秘时,能够亲手编写并执行SQL语句,无疑是将理论知识转化为实践能力的关键一步。IDEA,作为Java开发者的首选IDE(集成开发环境),不仅以其强大的代码智能提示、重构功能著称,还集成了对数据库管理的支持,使得从编写代码到数据库操作的无缝衔接成为可能。而MySQL,作为世界上最流行的开源关系型数据库管理系统之一,其广泛的应用场景和丰富的功能特性,为学习者和专业人士提供了广阔的实践空间。Navicat,则以其直观的用户界面和高效的数据管理能力,成为了连接数据库、执行复杂查询、管理数据库对象的得力助手。
本篇文章将通过一系列精心设计的示例,从零开始,逐步引导你掌握在IDEA中连接MySQL数据库、编写SQL查询语句、执行数据操作(如插入、更新、删除)以及使用Navicat进行数据库管理和优化的全过程。我们不仅关注技术的正确性,更重视步骤的清晰性和易理解性,确保每一步操作都有详尽的解释和截图说明,即便是初次接触这些工具的朋友也能轻松上手。
目录
1 使用SELECT查询计算结果
2 使用SELECT查询当前时间
3 提前: 切换到指定的库
4 查询表中数据 *表示整张表所有的字段
5 查询表中数据 将查询的所有字段显示出来 整理SQL结构
6 查询employees表中的部分字段,但是字段显示顺序为first_name、last_name、email
7 查询employees表中的部分字段,但是字段显示顺序为email、last_name、first_name
8 查询员工id是110的员工部分信息
9 查询50部门的员工(部门编号为50)
10 查询不在50部门的员工(部门编号不为50)
10 查询工资小于 3000的员工
11 查询工资是 [8000, 9000]范围的员工(薪资大于等于8000 薪资小于等于9000)
12 查询工资是 (8000, 9000)范围的员工
13 查询主管id是100、120、122的员工
14 没有主管的人(manager_id 是null值)
15 查询工资<3000,或者工资>15000
16 排除部门50,80,100,60
17 有提成的员工,commission_pct不是null
18 查询first_name中包含'en'的员工信息(不知道en前有什么,后有什么)
19 first_name第三个和第四个字符是'en'
20 排除电话中包含'44'
21 所有的部门id(要求部分id不重复显示),并且不显示null
22 所有部门中,有哪些工作岗位(查询员工表中有哪些部门和职位)
1 使用SELECT查询计算结果
方法一:
SELECT 1 + 2;
展示结果:

方法二:
SELECT 2 * 5;
展示结果:

方法三:
SELECT 7 / 2;
展示结果:

方法四:
SELECT 7 DIV 2;
展示结果:

2 使用SELECT查询当前时间
SELECT NOW();
展示结果:

3 提前: 切换到指定的库
USE hr;
展示结果:

4 查询表中数据 *表示整张表所有的字段
SELECT *
FROM employees;
展示结果:

5 查询表中数据 将查询的所有字段显示出来 整理SQL结构
快捷键:CTRL+ALT+L
表示的是自动规范化,当然你先要退出QQ,因为该快捷键也是QQ的自动锁定
SELECT employee_id,
first_name,
last_name,
email,
phone_number,
hire_date,
job_id,
salary,
commission_pct,
manager_id,
department_id
FROM employees;
展示结果:

6 查询employees表中的部分字段,但是字段显示顺序为first_name、last_name、email
SELECT first_name, last_name, email
FROM employees;
展示结果:

7 查询employees表中的部分字段,但是字段显示顺序为email、last_name、first_name
SELECT email, last_name, first_name
FROM employees;
展示结果:

8 查询员工id是110的员工部分信息
SELECT employee_id, first_name, salary
FROM employees
WHERE employee_id = 110;
展示结果:

9 查询50部门的员工(部门编号为50)
SELECT employee_id, first_name, salary, department_id
FROM employees
WHERE department_id = 50;
展示结果:

10 查询不在50部门的员工(部门编号不为50)
以下是两种查询方法,使用不等于的符号分别为“<>”、“!=”都表示同一意思。
SELECT employee_id, first_name, salary, department_id
FROM employees
WHERE department_id <> 50;
SELECT employee_id, first_name, salary, department_id
FROM employees
WHERE department_id != 50;
展示结果:

10 查询工资小于 3000的员工
SELECT employee_id, first_name, salary, department_id
FROM employees
WHERE salary < 3000;
展示结果:

11 查询工资是 [8000, 9000]范围的员工(薪资大于等于8000 薪资小于等于9000)
SELECT employee_id, first_name, salary
FROM employees
WHERE salary >= 8000
AND salary <= 9000;
SELECT employee_id, first_name, salary
FROM employees
WHERE salary >= 8000 && salary <= 9000;
BETWEEN x AND y 表示在x和y之间,一定要保证y>x,否则结果会为空,并且只适用于包含边界值的情况。
SELECT employee_id, first_name, salary
FROM employees
WHERE salary BETWEEN 8000 AND 9000;
展示结果:

12 查询工资是 (8000, 9000)范围的员工
SELECT employee_id, first_name, salary
FROM employees
WHERE salary > 8000
AND salary < 9000;
展示结果:

13 查询主管id是100、120、122的员工
SELECT employee_id, first_name, manager_id
FROM employees
WHERE manager_id = 100
OR manager_id = 120
OR manager_id = 122;
SELECT employee_id, first_name, manager_id
FROM employees
WHERE manager_id = 100
|| manager_id = 120
|| manager_id = 122;
#如果向IN提供了大量值,可能会影响效率
SELECT employee_id, first_name, manager_id
FROM employees
WHERE manager_id IN (100, 120, 122);
展示结果:

14 没有主管的人(manager_id 是null值)
#mysql的底层中,null和任何值比较都是null,不能和=链接,必须使用IS NULL
SELECT employee_id, first_name, manager_id
FROM employees
WHERE manager_id IS NULL;
展示结果:

15 查询工资<3000,或者工资>15000
SELECT employee_id, first_name, salary
FROM employees
WHERE salary < 3000
OR salary > 15000;
#查询薪资不在[3000,15000]范围内的薪资
SELECT employee_id, first_name, salary
FROM employees
WHERE salary NOT BETWEEN 3000 AND 15000;
展示结果:

16 排除部门50,80,100,60
SELECT employee_id, first_name, department_id
FROM employees
WHERE department_id NOT IN (50, 80, 100, 60);
展示结果:

17 有提成的员工,commission_pct不是null
# 绝对不可以NOT IS NULL
SELECT employee_id, first_name, salary, commission_pct
FROM employees
WHERE commission_pct IS NOT NULL;
展示结果:

18 查询first_name中包含'en'的员工信息(不知道en前有什么,后有什么)
SELECT employee_id, first_name
FROM employees
WHERE first_name LIKE '%en%';
展示结果:

19 first_name第三个和第四个字符是'en'
SELECT employee_id, first_name
FROM employees
WHERE first_name LIKE '__en%';
展示结果:

20 排除电话中包含'44'
SELECT employee_id, first_name, phone_number
FROM employees
WHERE phone_number NOT LIKE '%44%';
展示结果:

21 所有的部门id(要求部分id不重复显示),并且不显示null
SELECT DISTINCT department_id
FROM employees
WHERE department_id IS NOT NULL;
展示结果:

22 所有部门中,有哪些工作岗位(查询员工表中有哪些部门和职位)
SELECT DISTINCT department_id, job_id
FROM employees
WHERE department_id IS NOT NULL;
展示结果:

上一篇文章:SQL基础练习-CSDN博客
https://blog.csdn.net/Z0412_J0103/article/details/143105982下一篇文章:SQL高级查询02-CSDN博客
https://blog.csdn.net/Z0412_J0103/article/details/143173858
相关文章:
SQL语句高级查询(适用于新手)
SQL查询语句的下载脚本链接!!! 【免费】SQL练习资源-具体练习操作可以查看我发布的文章资源-CSDN文库https://download.csdn.net/download/Z0412_J0103/89908378 本文旨在为那些编程基础相对薄弱的朋友们提供一份详尽的指南,特别聚…...
main.ts中引入App.vue报错,提示“Cannot find module ‘./App.vue’ or its corresponding type
原因 代码编辑器:vscode ,使用vue3,所以安装了 Volar 插件,可以使 vue 代码高亮显示,不同颜色区分代码块,以及语法错误提示等 提示:如果使用的是vue2,则使用 Vetur 插件࿱…...
Android15音频进阶之组音量调试(九十)
简介: CSDN博客专家、《Android系统多媒体进阶实战》一书作者 新书发布:《Android系统多媒体进阶实战》🚀 优质专栏: Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏: 多媒体系统工程师系列【原创干货持续更新中……】🚀 优质视频课程:AAOS车载系统+…...
【Java】常用方法合集
以 DemoVo 为实体 import lombok.Data; import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;Data ExcelIgnoreUnannotated public class ExportPromoteUnitResult {private String id;ExcelProperty(value &qu…...
深入了解Vue Router:基本用法、重定向、动态路由与路由守卫的性能优化
文章目录 1. 引言2. Vue Router的基本用法2.1 基本配置 3. 重定向和命名路由的使用3.1 重定向3.2 命名路由 4. 在Vue Router中如何处理动态路由4.1 动态路由的概念4.2 如何处理动态路由4.3 动态路由的懒加载 5. 路由守卫的实现与性能影响5.1 什么是路由守卫?5.2 路由…...
深入理解InnoDB底层原理:从数据结构到逻辑架构
💡 无论你是刚刚踏入编程世界的新人,还是希望进一步提升自己的资深开发者,在这里都能找到适合你的内容。我们共同探讨技术难题,一起进步,携手度过互联网行业的每一个挑战。 📣 如果你觉得我的文章对你有帮助,请不要吝啬你的点赞👍分享💕和评论哦! 让我们一起打造…...
Linux介绍及操作命令
Linux 是一种开源的操作系统,具有以下特点和优势: 一、稳定性和可靠性 内核稳定 Linux 内核经过多年的发展和优化,具有高度的稳定性。它能够长时间运行而不出现崩溃或故障,适用于服务器和关键任务应用。内核的稳定性得益于其严格的开发流程和质量控制,以及全球开发者社区…...
JS | 详解图片懒加载的6种实现方案
一、什么是懒加载? 懒加载是一种对网页性能优化的方式,比如,当访问一个网页的时候,优先显示可视区域的图片而不是一次加载全部的图片,当需要显示时,再发送请求加载图片。 懒加载 :延迟加载&…...
Java | Leetcode Java题解之第502题IPO
题目: 题解: class Solution {public int findMaximizedCapital(int k, int w, int[] profits, int[] capital) {int n profits.length;int curr 0;int[][] arr new int[n][2];for (int i 0; i < n; i) {arr[i][0] capital[i];arr[i][1] profi…...
JavaWeb学习(3)
目录 一、9大内置对象 二、JavaBean 三、MVC三层架构 Model View Controller(Servlet) 四、Filter(过滤器) 应用一:处理中文乱码 应用二:登录验证 五、监听器 六、JDBC 一、9大内置对象 PageCont…...
【含开题报告+文档+PPT+源码】基于SpringBoot的百货商城管理系统的设计与实现
开题报告 随着互联网技术的快速发展和电子商务的兴起,网上购物已成为人们日常生活中不可或缺的一部分。传统的实体店面由于时间和空间的限制,无法满足消费者对于便捷、快速、个性化购物体验的需求。在此背景下,基于 Java 的网上商城系统应运…...
Elasticsearch 实战应用与优化策略研究
一、引言 1.1 研究背景 在当今大数据时代,数据量呈爆炸式增长,对数据的存储、检索和分析提出了更高的要求。Elasticsearch 作为一款强大的分布式搜索和分析引擎,在这个时代背景下显得尤为重要。 随着数据密集型应用场景的不断增加…...
植物大战僵尸杂交版游戏分享
植物大战僵尸杂交版游戏下载:夸克网盘分享 无捆绑之类的隐形消费,下载即玩...
ProteinMPNN中DecLayer类介绍
PositionWiseFeedForward 类的代码 class PositionWiseFeedForward(nn.Module):def __init__(self, num_hidden, num_ff):super(PositionWiseFeedForward, self).__init__()self.W_in = nn.Linear(num_hidden, num_ff, bias=True)self.W_out = nn.Linear(num_ff, num_hidden, …...
Flux.all 使用说明书
all public final Mono<Boolean> all(Predicate<? super T> predicate)Emit a single boolean true if all values of this sequence match the Predicate. 如果该序列中的所有值都匹配给定的谓词(Predicate),则发出一个布尔值…...
DORA 机器人中间件学习教程(6)——激光点云预处理
文章目录 1 移植思路2 代码输入输出说明3 编写CmakeList.txt文件4 编写yml文件5 编译并启动节点参考资料 在DORA中通过驱动获取激光雷达数据后,激光点云预处理部分代码是参考了autoware官方代码并对其进行裁剪得到的,点云预处理主要包含三个节点…...
搜维尔科技:TechViz将您的协同项目评审提升到一个全新的高度
TechViz将您的协同项目评审提升到一个全新的高度 搜维尔科技: TechViz将您的协同项目评审提升到一个全新的高度...
Dinky 字段模式演变 PIPELINE 同步MySQL到Doris
背景 用Dinky数据平台 FlinkCDC收集Mysql BinLog 至 Doris 搭建实时数仓 问题 用Dinky CDCSOURCE 字段模式演变 整库同步Mysql到Doris 字段新增删除不生效 组件信息 Flink 1.17 FlinkCDC 3.1 dinky 1.1 Doris 2.1.6 Mysql 8.0Dinky MySQLCDC 整库到 Doris需要的依赖 Flink/…...
【Docker】Harbor 私有仓库和管理
目录 一、搭建本地私有仓库 二、harbor简介(特性、构成、架构的数据流向) 2.1 什么是Harbor 2.2 Harbor的特性 2.3 Harbor的构成 2.4 Harbor的工作原理(运行流程) 三、harbor部署以及配置文件 1. 部署 Docker-Compose 服…...
《重置MobaXterm密码并连接Linux虚拟机的完整操作指南》
目录 引言 一、双击MobaXterm_Personal_24.2进入,但是忘记密码。 那么接下来请跟着我操作。 二、点击此链接,重设密码。 三、下载完成后,现在把这个exe文件解压。注意解压要与MobaXterm_Personal_24.2.exe在同一目录下哦,不然…...
零门槛NAS搭建:WinNAS如何让普通电脑秒变私有云?
一、核心优势:专为Windows用户设计的极简NAS WinNAS由深圳耘想存储科技开发,是一款收费低廉但功能全面的Windows NAS工具,主打“无学习成本部署” 。与其他NAS软件相比,其优势在于: 无需硬件改造:将任意W…...
树莓派超全系列教程文档--(61)树莓派摄像头高级使用方法
树莓派摄像头高级使用方法 配置通过调谐文件来调整相机行为 使用多个摄像头安装 libcam 和 rpicam-apps依赖关系开发包 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 配置 大多数用例自动工作,无需更改相机配置。但是,一…...
Axios请求超时重发机制
Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式: 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...
Web 架构之 CDN 加速原理与落地实践
文章目录 一、思维导图二、正文内容(一)CDN 基础概念1. 定义2. 组成部分 (二)CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 (三)CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 …...
JS设计模式(4):观察者模式
JS设计模式(4):观察者模式 一、引入 在开发中,我们经常会遇到这样的场景:一个对象的状态变化需要自动通知其他对象,比如: 电商平台中,商品库存变化时需要通知所有订阅该商品的用户;新闻网站中࿰…...
人机融合智能 | “人智交互”跨学科新领域
本文系统地提出基于“以人为中心AI(HCAI)”理念的人-人工智能交互(人智交互)这一跨学科新领域及框架,定义人智交互领域的理念、基本理论和关键问题、方法、开发流程和参与团队等,阐述提出人智交互新领域的意义。然后,提出人智交互研究的三种新范式取向以及它们的意义。最后,总结…...
Web中间件--tomcat学习
Web中间件–tomcat Java虚拟机详解 什么是JAVA虚拟机 Java虚拟机是一个抽象的计算机,它可以执行Java字节码。Java虚拟机是Java平台的一部分,Java平台由Java语言、Java API和Java虚拟机组成。Java虚拟机的主要作用是将Java字节码转换为机器代码&#x…...
【LeetCode】算法详解#6 ---除自身以外数组的乘积
1.题目介绍 给定一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O…...
【Linux手册】探秘系统世界:从用户交互到硬件底层的全链路工作之旅
目录 前言 操作系统与驱动程序 是什么,为什么 怎么做 system call 用户操作接口 总结 前言 日常生活中,我们在使用电子设备时,我们所输入执行的每一条指令最终大多都会作用到硬件上,比如下载一款软件最终会下载到硬盘上&am…...
6️⃣Go 语言中的哈希、加密与序列化:通往区块链世界的钥匙
Go 语言中的哈希、加密与序列化:通往区块链世界的钥匙 一、前言:离区块链还有多远? 区块链听起来可能遥不可及,似乎是只有密码学专家和资深工程师才能涉足的领域。但事实上,构建一个区块链的核心并不复杂,尤其当你已经掌握了一门系统编程语言,比如 Go。 要真正理解区…...
