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

server/2024/10/23 9:38:48/

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.ppmy.cn/server/134139.html

相关文章

第十六届蓝桥杯嵌入式真题

蓝桥杯嵌入式第十二届省赛真题二 蓝桥杯嵌入式第十三届省赛真题一 蓝桥杯嵌入式第十三届省赛真题二 蓝桥杯嵌入式第十四届省赛真题 蓝桥杯嵌入式第十四届模拟考试一 蓝桥杯嵌入式第十四届模拟考试二 蓝桥杯嵌入式第十五届模拟考试一 蓝桥杯嵌入式第十五届模拟考试二 蓝…

LeetCode_2413. 最小偶倍数_java

1、问题 2413. 最小偶倍数https://leetcode.cn/problems/smallest-even-multiple/给你一个正整数 n &#xff0c;返回 2 和 n 的最小公倍数&#xff08;正整数&#xff09;。 示例 1&#xff1a; 输入&#xff1a;n 5 输出&#xff1a;10 解释&#xff1a;5 和 2 的最小公倍…

AWS 实现eventbridge 发送消息触发lamda

1 创建一个lamda函数&#xff0c;运行时选择python 贴入下面代码并点击deploy import jsondef lambda_handler(event, context):# 打印接收到的事件print("Received event: " json.dumps(event, indent2))# 可以在这里添加其他处理逻辑# 例如&#xff0c;提取某些信…

2024年电子信息与信号处理国际学术研讨会(EISP 2024,2024年11月15-17日)

2024年电子信息与信号处理国际学术研讨会&#xff08;EISP 2024&#xff09; 2024 International Symposium on Electronic Information and Signal Processing 官方信息 会议官网&#xff1a;www.eiect.org 2024 International Symposium on Electronic Information and Sig…

redis报错(error) NOAUTH Authentication required.

redis报错(error) NOAUTH Authentication required. # 进入redis-cl所在目录 rootc257083a0d7f:/# cd /usr/local/bin rootc257083a0d7f:/usr/local/bin# ls docker-entrypoint.sh gosu redis-benchmark redis-check-aof redis-check-rdb redis-cli redis-sentinel red…

别让数据蒙蔽双眼:用消费者决策旅程照亮数字营销之路

来源&#xff1a;Vollrath, M. D., & Villegas, S. G. (2022). Avoiding digital marketing analytics myopia: Revisiting the customer decision journey as a strategic marketing framework. Journal of Marketing Analytics, 10(2), 106-113. https://go.exlibris.lin…

Java 20新特性概述

Java 20发布于2023年3月21日&#xff0c;共七个新特性&#xff1a; JEP 429&#xff1a;Scoped Values (Incubator)作用域值 &#xff08;第一轮孵化&#xff09; JEP 432&#xff1a;Record Patterns (Second Preview)记录模式 &#xff08;第二次预览&#xff09; JEP 433&…

2024年水利水电安全员考试题库及答案

一、判断题 1.职业禁忌指员工从事特定职业或者接触特定职业危害因素时&#xff0c;比一般职业人更易于遭受职业危害的侵袭和罹患职业病&#xff0c;或者可能导致原有自身疾病的病情加重&#xff0c;或者在从事作业过程中诱发可能导致对他人生命健康构成危险的疾病的个人特殊生…