当前位置: 首页 > article >正文

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.kler.cn/news/361377.html

相关文章:

  • element-时间选择器单独写两个时间选择器并按照规则进行置灰选择,精确到时分秒
  • 搭建微信AI机器人
  • linux介绍与基本指令
  • ubuntu20.04 opencv4.0 /usr/local/lib/libgflags.a(gflags.cc.o): relocation报错解决
  • 学SQL第一天
  • 软件工程的学习之详细绪论
  • 这几次比赛题解
  • UniHttp框架直接对接第三方Http接口
  • JavaGuide (8)
  • MySQL之CRUD(下)
  • vue中加载GLB模型,计算模型的长宽高、绘制模型的边框线
  • Vue93 vue3 watch监视ref属性的说明
  • 记录:网鼎杯2024赛前热身WEB01
  • Cocos引擎
  • 十四、MySQL事务日志
  • IIC通信与MAX30102采集血样数据+V4L2框架
  • 【Petri网导论学习笔记】Petri网导论入门学习(七) —— 1.5 并发与冲突
  • 上海市计算机学会竞赛平台2024年10月月赛丙组胜率判断
  • 拍立淘按图搜索API接口系列(json数据格式示例)
  • c++ libtorch tensor 矩阵分块
  • 域4:通信与网络安全 第12章 安全通讯和网络攻击
  • 【数据结构与算法】第3课—数据结构之单链表
  • OBOO鸥柏丨《满天星(MTSTAR)》信息发布系统售后服务点位收费标准
  • Unity性能优化1【基础篇】
  • js的入口函数,及入口函数的作用
  • Spring中的参数统一配置