MYSQL:查询数据

news2025/1/13 9:31:27

一、学习目标

  1. 了解基本查询语句
  2. 掌握表单查询的方法
  3. 掌握如何使用几何函数的查询
  4. 掌握连接查询的方法
  5. 掌握如何使用子查询
  6. 熟悉合并查询结果
  7. 熟悉如何为表和字段取别名
  8. 掌握如何使用正则表达式查询
  9. 掌握数据表的查询操作技巧和方法

二、实验内容

根据不同条件对表进行查询操作,掌握数据表的查询语句。Employee、dept表结构以及表中的记录如下表所示

employee表结构

字段名

字段说明

数据类型

主键

外键

非空

唯一

自增

e_no

员工编号

INT(11)

e_name

员工姓名

VARCHAR(50)

e_gender

员工性别

CHAR(2)

dept_no

部门编号

INT(11)

e_job

职位

VARCHAR(50)

e_salary

薪水

INT(11)

hireDate

入职日期

DATE

dept表结构

字段名

字段说明

数据类型

主键

外键

非空

唯一

自增

d_no

部门编号

INT(11)

d_name

部门名称

VARCHAR(50)

d_location

部门地址

VARCHAR(100)

employee表中的记录

e_no

e_name

e_gender

dept_no

e_job

e_salary

hireDate

1001

SMITH

m

20

CLERK

800

2005-11-12

1002

ALLEN

f

30

SALESMAN

1600

2003-05-12

1003

WARD

f

30

SALESMAN

1250

2003-05-12

1004

JONES

m

20

MANAGER

2975

1998-05-18

1005

MARTIN

m

30

SALESMAN

1250

2001-06-12

1006

BLAKE

f

30

MANAGER

2850

1997-02-15

1007

CLARK

m

10

MANAGER

2450

2002-09-12

1008

SCOTT

m

20

ANALYST

3000

2003-05-12

1009

KING

f

10

PRESIDENT

5000

1995-01-01

1010

TURNER

f

30

SALESMAN

1500

1997-10-12

1011

ADAMS

m

20

CLERK

1100

1999-10-05

1012

JAMES

f

30

CLERK

950

2008-06-15

dept表中的记录

d_no

d_name

d_location

10

ACCOUNTING

ShangHai

20

RESEARCH

BeiJing

30

SALES

ShenZhen

40

OPERATIONS

FuJian

步骤如下:

①创建数据表employee和dept

②将指定记录分别插入两个表中

③在employee表中,查询所有记录的e_no、e_name和e_salary字段值

④在employee表中,查询dept_no等于10和20的所有记录

⑤在employee表中,查询工资范围在800~2500之间的员工信息

⑥在employee表中,查询部门编号为20的部门中的员工信息

⑦在employee表中,查询每个部门最高工资的员工信息

⑧查询员工BLAKE所在部门和部门所在地

⑨使用连接查询,查询所有员工的部门和部门信息

⑩在employee表中,计算每个部门各有多少名员工

在employee表中,计算不同类型职工的总工资数

在employee表中,计算不同部门的平均工资

在employee表中,查询工资低于1500的员工信息

在employee表中,将查询记录先按部门编号由高到低排列,再按员工工资从高到低排列 

在employee表中,查询员工姓名以字母‘A’或‘S’开头的员工的信息

在employee表中,查询到目前为止工龄大于等于18年的员工信息

1.

create table dept(d_no int(11) not null primary key unique ,d_name varchar(50) not null,d_location varchar(100));

 create index d_no on employee(dept_no);
/*索引,没索引给不了外键*/


create table employee(e_no int(11) primary key not null unique,e_name varchar(50) not null,e_gender char(2),dept_no int(11) not null,e_job varchar(50) not null,e_salary int(11) not null,hireDate date not null ,foreign key(dept_no) references dept(d_no)
 );

 2.

insert into dept(d_no,d_name,d_location)values(10,'ACCOUNTING','ShangHai'),
(20,'RESEARCH','BeiJing'),
(30,'SALES','ShenZhen'),
(40,'OPERATIONS','FuJian');


insert into employee(e_no,e_name,e_gender,dept_no,e_job,e_salary,hireDate)values(1001,'SMITH','m',20,'CLERK',800,'2005-11-12'),
   (1002, 'ALLEN', 'f', 30, 'SALESMAN', 1600, '2003-05-12'),
   (1003,'WARD','f',30,'SALESMAN',1250,'2003-05-12'),
   (1004,'JONES','m',20,'MANAGER',2975,'1998-05-18'),
   (1005,'MARTIN','m',30,'SALESMAN',1250,'2001-06-12'),
   (1006,'BLAKE','f',30,'MANAGER',2850,'1997-02-15'),
   (1007,'CLARK','m',10,'MANAGER',2450,'2002-09-12'),
   (1008,'SCOTT','m',20,'ANALYST',3000,'2003-05-12'),
   (1009,'KING','f',10,'PRESIDENT',5000,'1995-01-01'),
   (1010,'TURNER','f',30,'SALESMAN',1500,'1997-10-12'),
   (1011,'ADAMS','m',20,'CLERK',1100,'1999-10-05'),
   (1012,'JAMES','f',30,'CLERK',950,'2008-06-15');

 3.

select e_no,e_name,e_salary from employee;

4.

select * from employee where dept_no=10 or dept_no=20;

 

5.

 select * from employee where e_salary between 800 and 2500;

 

6.

select * from employee where dept_no=20;

 

7.

 select employee.* from 
(select dept_no as dno,max(e_salary)as salary from employee group by dept_no)as a 
inner join employee 
on employee.dept_no=a.dno and employee.e_salary=a.salary;

 

 

8.

select d_name,d_location from dept where d_no in (select dept_no from employee where e_name='BLAKE');

 

9.

 select d_no,d_name,d_location from dept
    inner join employee
    on employee.dept_no=dept.d_no;

 

10.

 select dept.d_no,count(*)
   from employee join dept on employee.dept_no=dept.d_no
   group by dept.d_no;

11.

 select e_job,sum(e_salary)
    from employee
     group by e_job;

 

 12.

 select dept_no,avg(e_salary)
   from employee
   group by dept_no;

13.

select * from employee where e_salary<1500;

 

14.

 select * from employee order by dept_no desc;
 select * from employee order by e_salary desc;

 

 

 15.

 select * from employee
    where e_name like'A%'or e_name like'S%';

16.

select * from employee where hireDate<=(date_sub(curdate(),interval 18 year));

 

 

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

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

相关文章

Unity Game FrameWork—模块使用—对象池使用

使用对象池&#xff0c;需继承ObjectBase。首先创建一个OPGame的类&#xff0c;继承于ObjectBase&#xff0c;我们暂且把它叫做OP对象&#xff0c;如下图 OP对象有两个地方可以存储成员对象或变量&#xff0c;一个是在OP对象内部如模型ID&#xff1a;m_ModelID。另一个则是对…

【LeetCode训练营02】两个非空链表相加 详解

目录 题目 解题思路的分享 解题源码的分享 题目 给你两个 非空 的链表&#xff0c;表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的&#xff0c;并且每个节点只能存储 一位 数字。 请你将两个数相加&#xff0c;并以相同形式返回一个表示和的链表。 你可以…

Executor框架简介

Executor系统中&#xff0c;将线程任务提交和任务执行进行了解耦的设计; 线程被一对一映射为服务所在操作系统线程&#xff0c;启动时会创建一个操作系统线程&#xff1b;当该线程终止时&#xff0c;这个操作系统线程也会被回收 Executor框架包含的核心接口和主要的实现类 具体…

Linux下安装Hive

文章目录 1. 确保linux环境下mysql已安装2. 上传安装包3. 解压安装包4. 修改目录名称5. 配置环境变量6. 解压日志jar包冲突7. 拷贝mysql驱动jar包8. 配置hive的参数文件9. 增加hadoop的配置参数10.在mysql中进行相关配置11. 初始化hive的元数据库 1. 确保linux环境下mysql已安装…

【Android】之【WebView】

一、简介 WebView是一种控件&#xff0c;它基于webkit引擎&#xff0c;因此具备渲染Web页面的功能。   基于Webview的混合开发&#xff0c;就是在 Android os(安卓)/I os(苹果)原生APP里&#xff0c;通过WebView控件嵌入Web页面。 你手机里有淘宝软件吧&#xff1f; 就是外…

uniapp开发微信小程序分包处理实录

uniapp开发微信小程序上传代码时可能会遇到项目过大问题&#xff0c;今天就结合自己的实际操作简单记录下如何处理项目代码超出限制问题。 常用的操作就是将项目中的图片访问由本地访问修改为网络访问&#xff0c;微信开发者工具上传代码时勾选相关的压缩文件选项等&am…

CV开启大模型时代!谷歌发布史上最大ViT:220亿参数,视觉感知力直逼人类

ViT模型何时才能破万亿&#xff1f; Transformer无疑是促进自然语言处理领域繁荣的最大功臣&#xff0c;也是GPT-4等大规模语言模型的基础架构。 不过相比语言模型动辄成千上万亿的参数量&#xff0c;计算机视觉领域吃到Transformer的红利就没那么多了&#xff0c;目前最大的…

《华为机试》——MP3光标位置 及 洗牌

本期&#xff0c;我给大家带来以下两个题目的讲解&#xff1a; 1、《华为机试》——MP3光标位置 &#xff08;中等&#xff09;2、 2017年校招真题——洗牌 &#xff08;简单&#xff09; 以上两个题的难度属于我也给大家标注出来了&#xff0c;接下来&#xff0c;我们一起去…

利用chatgpt处理Excel数据

一 前言 以前用chatgpt主要做问答&#xff0c;这次加入星球学习到了如何用chatgpt处理Excel&#xff0c;虽然现在处理起来还不是很方便&#xff0c;用熟悉了&#xff08;主要是熟悉提示词&#xff09;&#xff0c;处理起来会越来越快的。 二 准备工作 一个可用的chatgpt账号&…

针对jar和vue的一键自动化部署工具,界面友好操作简单

easy-jenkins是一款对vue和jar的部署工具&#xff0c;操作简单&#xff0c;实行一键部署&#xff0c;内部结构采用流水线形式架构&#xff0c;每次部署&#xff0c;时时提供部署过程&#xff0c;部署记录&#xff0c;界面友好简洁&#xff0c;使用方便&#xff0c;符合用户常规…

HTML学习(5)Canvas绘图

文章目录 HTML5 CanvasHTML5 内联SVG HTML5 Canvas 使用 Canvas 进行绘图工作&#xff0c;Canvas元素用于在网页上绘制图片。 创建一个Canvas的元素&#xff1a; <canvas id"myCanvas" width"200" height"100"></canvas>但是Canv…

设计模式 -- 装饰模式

前言 月是一轮明镜,晶莹剔透,代表着一张白纸(啥也不懂) 央是一片海洋,海乃百川,代表着一块海绵(吸纳万物) 泽是一柄利剑,千锤百炼,代表着千百锤炼(输入输出) 月央泽,学习的一种过程,从白纸->吸收各种知识->不断输入输出变成自己的内容 希望大家一起坚持这个过程,也同…

操作系统原理 —— 什么是中断?(四)

我们先来看看早期的计算机的工作流程&#xff1a; 如上图&#xff0c;在早期的计算机假设有三个程序需要执行&#xff0c;执行顺序是&#xff1a;先执行程序1&#xff0c;等待程序1结束之后&#xff0c;再开始执行程序2&#xff0c;以此类推&#xff0c;所以它们是串行执行的…

使用ChatGPT编写Python接口的指南

使用ChatGPT编写Python接口的指南 ChatGPT是一种自然语言处理技术&#xff0c;可以用于各种文本生成任务。在本文中&#xff0c;我们将介绍如何使用Python编写ChatGPT的接口&#xff0c;并提供一些有用的技巧和示例代码。 步骤一&#xff1a;安装所需的库 在编写ChatGPT接口…

数据仓库的概念及与数据库等对比

1、什么是数据仓库&#xff1f; 数据仓库是信息&#xff08;对其进行分析可做出更明智的决策&#xff09;的中央存储库。通常&#xff0c;数据定期从事务系统、关系数据库和其他来源流入数据仓库。业务分析师、数据工程师、数据科学家和决策者通过商业智能 (BI) 工具、SQL 客户…

SOLIDWORKS机械设计如何控制尺寸?

机械设计过程中的尺寸把握&#xff0c;实际就是一个人的设计能力的体现&#xff0c;如果你不具备相应的设计能力&#xff0c;那所谓的尺寸把握是做不好的。所以今天在这里分享一套基本的设计流程和方法给大家&#xff0c;只有切实可行的方法才能打通你走向完善的专业技能之路。…

测试老鸟总结,性能测试如何做?常见异常有哪些?解决方法...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 常见的性能异常 …

1.Introduction: Hands-on Graph Neural Networks

PyG&#xff08;PyTorch Geometric&#xff09;是一个基于PyTorch的库&#xff0c;用于轻松编写和训练图形神经网络&#xff08;GNN&#xff09;&#xff0c;用于与结构化数据相关的广泛应用。博客好久没有更新了&#xff0c;恰逢1024创作纪念日&#xff0c;浅浅更新一下吧。 这…

logging模块

欢迎关注博主 Mindtechnist 或加入【Linux C/C/Python社区】一起探讨和分享Linux C/C/Python/Shell编程、机器人技术、机器学习、机器视觉、嵌入式AI相关领域的知识和技术。 logging模块 日志级别修改logging模块默认行为logger对象 专栏&#xff1a;《python从入门到实战》 日…

MACH SYSTEMS网关:SAE J2716(SENT) 转 RS-232/CAN

双通道SAE J2716&#xff08;SENT&#xff09;至RS-232/CAN总线网关&#xff0c;具有两个双向SENT通道和RS-232&#xff08;SENT-RS232&#xff09;或CAN总线&#xff08;SENT-CAN&#xff09;接口。两种变体还提供两个模拟输出&#xff0c;可以直接将输入SENT数据转换为模拟电…