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

SQL查询语句的下载脚本链接!!!

【免费】SQL练习资源-具体练习操作可以查看我发布的文章资源-CSDN文库icon-default.png?t=O83Ahttps://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博客icon-default.png?t=O83Ahttps://blog.csdn.net/Z0412_J0103/article/details/143105982下一篇文章:SQL高级查询02-CSDN博客icon-default.png?t=O83Ahttps://blog.csdn.net/Z0412_J0103/article/details/143173858

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/882828.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【C++篇】栈的层叠与队列的流动:在 STL 的节奏中聆听算法的静谧旋律

文章目录 C 栈与队列详解&#xff1a;基础与进阶应用前言第一章&#xff1a;栈的介绍与使用1.1 栈的介绍1.2 栈的使用1.2.1 最小栈1.2.2 示例与输出 1.3 栈的模拟实现 第二章&#xff1a;队列的介绍与使用2.1 队列的介绍2.2 队列的使用2.2.1 示例与输出 2.3 队列的模拟实现2.3.…

Java项目-基于spingboot框架的篮球论坛系统项目实战(附源码+文档)

作者&#xff1a;计算机学长阿伟 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、ElementUI等&#xff0c;“文末源码”。 开发运行环境 开发语言&#xff1a;Java数据库&#xff1a;MySQL技术&#xff1a;SpringBoot、Vue、Mybaits Plus、ELementUI工具&#xff1a;IDEA/…

【计算机网络 - 基础问题】每日 3 题(四十九)

✍个人博客&#xff1a;https://blog.csdn.net/Newin2020?typeblog &#x1f4e3;专栏地址&#xff1a;http://t.csdnimg.cn/fYaBd &#x1f4da;专栏简介&#xff1a;在这个专栏中&#xff0c;我将会分享 C 面试中常见的面试题给大家~ ❤️如果有收获的话&#xff0c;欢迎点赞…

从Excel文件中提取HTTP链接并在浏览器中打开

本文介绍了一段Python代码&#xff0c;使用openpyxl库从Excel文件中提取包含HTTP或HTTPS链接的单元格&#xff0c;并在默认浏览器中打开这些链接。 使用说明 确保安装openpyxl库&#xff0c;可以使用以下命令安装&#xff1a; pip install openpyxl选择包含链接的Excel文件&…

帝国CMS7.0 7.2 7.5微信登录插件

这款帝国cms微信登录插件&#xff0c;非常方便&#xff0c;新手式设置。 使用方法&#xff1a; 1、将文件夹拷贝到 /e/memberconnect 2、访问 /e/memberconnect/weixin/install/ 进行安装 3、登陆后台 用户–>外部接口–>管理外部登陆接口 输入 appid、appkey 4、前台链…

MATLAB人脸考勤系统

MATLAB人脸考勤系统课题介绍 该课题为基于MATLAB平台的人脸识别系统。传统的人脸识别都是直接人头的比对&#xff0c;现实意义不大&#xff0c;没有一定的新意。该课题识别原理为&#xff1a;先采集待识别人员的人脸&#xff0c;进行训练&#xff0c;得到人脸特征值。测试的时…

【计网笔记】应用层

应用层服务传输层协议端口号DNSTCP或UDP53FTPTCP20或21TELNETTCP23HTTPTCP80HTTPSTCP443SMTPTCP25POP3TCP110IMAPTCP143MIME//DHCPUDP67SNMPUDP161 域名系统DNS 使用具有一定语义的域名来助记IP地址 一个域名可能有多个IP地址 服务器农场 前端调配请求去不同的服务器不同服务…

机器学习面试笔试知识点之K近邻算法(KNN)、最大期望算法(EM)

机器学习面试笔试知识点之K近邻算法KNN、最大期望算法EM 一、K近邻算法(KNN)&#xff08;监督学习算法&#xff09;1. 什么是KNN1.1 KNN的通俗解释1.2 近邻的距离度量1.3 K值选择1.4 KNN最近邻分类算法的过程 2.KDD的实现&#xff1a;KD树2.1 构建KD树2.2 KD树的插入2.3 KD树的…

vue 项目i18n国际化,快速抽离中文,快速翻译

国际化大家都知道vue-i18n 实现的&#xff0c;但是有个问题&#xff0c;就是繁杂的抽离中文字符的过程&#xff0c;以及翻译中文字符的过程&#xff0c;关于这个有些小工具可以希望可以帮到大家 1.安装vue-i18n npm i vue-i18n8.22.22.ElementUI多语言配置 在src目录下创建…

【UE5】将2D切片图渲染为体积纹理,最终实现使用RT实时绘制体积纹理【第六篇-阶段总结篇】

因为马上就要进入下一个阶段&#xff0c;制作动态编辑体积纹理的模块。 但在这之前&#xff0c;要在这一章做最后一些整理。 首先&#xff0c;我们完成没完成的部分。其次&#xff0c;最后整理一下图表。最后&#xff0c;本文附上正在用的贴图 完善Shader 还记得我们之前注…

联想ThinkPad笔记本怎么开启vt_ThinkPad笔记本开启vt虚拟化教程

最近使用联想ThinkPad笔记本的小伙伴们问我&#xff0c;联想ThinkPad笔记本怎么开启vt虚拟。大多数可以在Bios中开启vt虚拟化技术&#xff0c;当CPU支持VT-x虚拟化技术&#xff0c;有些电脑会自动开启VT-x虚拟化技术功能。而大部分的电脑则需要在Bios Setup界面中&#xff0c;手…

Florence-2视觉语言模型简明教程

近年来&#xff0c;计算机视觉领域见证了基础模型的兴起&#xff0c;这些模型无需训练自定义模型即可进行图像注释。我们已经看到了用于分类的 CLIP [2]、用于对象检测的 GroundingDINO [3] 和用于分割的 SAM [4] 等模型——每个模型都在其领域表现出色。但是&#xff0c;如果我…

将VSCode界面的显示语言改为简体中文,切换VScode界面的显示语言

VSCode界面默认的语言为英语&#xff0c;需要安装简体中文语言包&#xff0c;语言包为插件 &#xff08;Extension&#xff09;。 Step1: 点击左侧扩展按钮 Step2: 在搜索栏 &#xff0c;输入chinese Step3: 选择第一个简体中文&#xff0c;点击右下角install 按钮 Step4: 安装…

【K8S系列】Kubernetes node节点NotReady问题及解决方案详解【已解决】

Kubernetes 集群中的每个节点都是运行容器化应用的基础。当节点状态显示为 NotReady 时,意味着该节点无法正常工作,这可能会导致 Pod 无法调度,从而影响整个应用的可用性。本文将深入分析节点不健康的各种原因、详细的排查步骤以及有效的解决方案。 一、节点不健康的原因 节…

小程序视频SDK解决方案,提供个性化开发和特效定制设计

美摄科技作为视频处理技术的领航者&#xff0c;深知在这一变革中&#xff0c;每一个细微的创新都能激发无限可能。因此&#xff0c;我们精心打造了一套小程序视频SDK解决方案&#xff0c;旨在满足不同行业、不同规模客户的多元化需求&#xff0c;携手共创视频内容的璀璨未来。 …

推动AI技术研发与应用,景联文科技提供专业高效图像采集服务

景联文科技提供专业图像采集服务&#xff0c;涵盖多个领域的应用需求。 包含人体图像、人脸图像、手指指纹、手势识别、交通道路、车辆监控等图像数据集&#xff0c;计算机视觉图像数据集超400TB&#xff0c;支持免费试采试标。 高质量人像采集服务&#xff1a;支持不同光线条件…

Java最全面试题->Java基础面试题->JavaWeb面试题->Git/SVN面试题

文章目录 Git/SVN面试题Git和SVN有什么区别&#xff1f;SVN优缺点&#xff1f;Git优缺点&#xff1f;说一下Git创建分支的步骤&#xff1f;说一下Git合并的两种方法以及区别&#xff1f;Git如何查看文件的提交历史和分支的提交历史?什么是 git stash&#xff1f;什么是git sta…

纯前端实现语音合成并输出提示

<!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>语音合成</title><style>body {max-…

配置nginx服务通过ip访问多网站

1.关闭防火墙 [rootlocalhost wzj]# systemctl stop firewalld [rootlocalhost wzj]# sstenforce 0 bash: sstenforce: command not found... [rootlocalhost wzj]# setenforce 0 2&#xff0c;挂mnt [rootlocalhost wzj]# mount/dev/sr0/mnt bash: mount/dev/sr0/mnt: No suc…

Excel常用操作培训

1 Excel基本操作 1.1 常用快捷键 1.1.1快捷键操作工作簿、工作表 1.1.2快捷键操作 1.1.3单元格操作 1.1.4输入操作 2.1 常见功能描述 2.1.1 窗口功能栏 excel有很多功能可以用&#xff0c;新建文档后&#xff0c;可以最上方&#xff0c;可以看到所有的功能栏目 2.1.2 剪切板…