首页 > 数据库 >mysql单表查询操作

mysql单表查询操作

时间:2023-10-01 18:33:36浏览次数:36  
标签:sal 查询 emp mysql deptno where select 单表

本文列举数据库的单表查询语法及实际使用,以员工表和部门表作为举例:

部门表:dept

点击查看创建部门表sql
create table `dept`  (
  `deptno` int(2) not null,
  `dname` varchar(14),
  `loc` varchar(13),
  primary key (`deptno`)
);

员工表:emp

点击查看创建员工表sql
create table `emp`  (
  `empno` int(4) not null,
  `ename` varchar(10),
  `job` varchar(9),
  `mgr` int(4),
  `hiredate` date,
  `sal` int(7),
  `comm` int(7),
  `deptno` int(2),
  primary key (`empno`),
  index `fk_deptno`(`deptno`),
  constraint `fk_deptno` foreign key (`deptno`) references `dept` (`deptno`) on delete restrict on update restrict
);

1查询所有信息

select * from 表名;

2查询部分信息

select 字段1,字段名2 [...] from 表名;

3where子句查询

1、比较运算:> >= < <=

  1. select * from emp where sal >2000;

2、范围:between and(包含边界值)

  1. select * from emp where sal between 1000 and 2000;

3、逻辑运算:and or not

  1. select * from emp where sal >=1000 and sal <=2500;
  2. select * from emp where empno= or empno=2 or empno=3;

4、集合查询:in、not in

  1. select * from emp where empno in (1,2,3);
  2. select * from emp where empno not in (1,2,3);

4取别名

  1. select ename, sal+sal*0.5 as 提升后的薪资 from emp;
  2. select ename 姓名,sal+sal*0.5 提升后的薪资 from emp;

5去重查询:distinct

  1. 去重查询所有职位信息:

select distinct job from emp;

6模糊查询:like

  • %:匹配0个或多个长度的任意字符
  1. 查询名字以s开头的员工信息 select * from emp where ename like 's%
  2. 查询名字中包含s的员工信息 select * from emp where ename like '%s%;`
  • _ :匹配一个长度的任意字符
  1. 查询第二字符为i的所有员工信息 select * from emp where ename like '_i%';

7排序:asc(默认)、desc

  1. 对所有员工薪资进行升序排序 select * from emp oder by sal;
  2. 对所有员工薪资进行降序排序 select * from emp oder by sal desc;
  3. 根据员工的工资降序排,如果工资一致,则按照员工编号降序排序 select * from emp oder by sal desc,empno desc;

8限制结果集数量:limit m,n(m:索引开始值;n:取值长度)

  1. 查询部门编号为10,薪资最高的第一个员工信息 select * from emp where deptno=10 order by sal desc limit 0,1

标签:sal,查询,emp,mysql,deptno,where,select,单表
From: https://www.cnblogs.com/Qiuq-L/p/17739107.html

相关文章

  • MySQL中explain查询结果解析
    ExtraUsinginde表示查询只需要使用索引就可以获取所需的数据,不需要回表操作。这通常是性能较好的情况。Usingwhere表示查询使用了WHERE子句来过滤结果集。查询将先根据索引进行扫描,然后再使用WHERE条件过滤结果。Usingtemporary表示查询需要使用临时表来存储中间结果。......
  • MySQL和Oracle数据库引擎
    MYSQL数据库:在mysql数据库中,常用到的引擎主要就是2个:Innodb和MyIASM。Innodb:它提供了对数据库ACID事务的支持,并且还提供行级锁和外键的约束。它被设计的目的就是处理大数据容器的数据库系统,它本身实际上是基于Mysql后台的完整系统。在Mysql运行的时候,Innodb会在内存中建立缓冲池,用......
  • 项目实战:ES的增加数据和查询数据
    文章目录背景在ES中增加数据新建索引删除索引在ES中查询数据查询数据总数量项目具体使用(实战)引入依赖方式一:使用配置类连接对应的es服务器创建配置类编写业务逻辑----根据关键字查询相关的聊天内容在ES中插入数据总结提升背景最近需要做一个有关查询聊天记录的功能,通过资料了解到......
  • MySQL递归查询所有子集
    在MySQL数据库中,WITHRECURSIVE是递归查询的一种语法。然而,MySQL并不支持WITHRECURSIVE语法。相反,MySQL提供了另一种递归查询的方法,即使用CONNECTBY和STARTWITH语法。如果您需要执行递归查询,建议您使用MySQL版本8.0或更高版本,并使用CONNECTBY和STARTWITH......
  • MySQL递归查询所有子集
    在MySQL数据库中,WITHRECURSIVE是递归查询的一种语法。然而,MySQL并不支持WITHRECURSIVE语法。相反,MySQL提供了另一种递归查询的方法,即使用CONNECTBY和STARTWITH语法。如果您需要执行递归查询,建议您使用MySQL版本8.0或更高版本,并使用CONNECTBY和STARTWITH语......
  • `centos 7.9`二进制方式安装`MySQL-5.7.43`
    二进制方式安装说明以下操作都是基于Linux操作系统cenos7.9,并且所有的操作都是基于root用户关闭防火墙停止防火墙 systemctlstopfirewalld禁用防火墙开机自启 systemctldisablefirewalld下载安装包下载地址如下 https://dev.mysql.com/downloads/mys......
  • ES - RestClient 查询文档
    目录快速入门快速入门@SpringBootTestclassSearchfDocTest{privateRestHighLevelClientclient;//查询所有文档@TestpublicvoidtestMatchAll()throwsIOException{//1.准备请求对象SearchRequestsearchRequest=newSearc......
  • golang 使用 gorm 查询数据 demo
    内容来自对chatgpt的咨询题目假设你有一张学生数据库表,需要通过golang的gorm查询某个id的学生实体查询demo在这段代码中,"student"变量是一个Student类型的结构体,用于存储查询结果。我们通过调用gorm.DB的Where方法和First方法,将第一个符合条件的结果存储到了"student"......
  • MySQL数据库操作 Lab1
            实验一MySQL数据库操作实验目的:掌握MySQL安装、配置与登录方法,使用MySQL客户创建数据库及对数据库表完成各种操作实验内容:1、 安装MySQL数据库管理系统,5.7.X(建议5.7.23及以上)或8.X版本都可以。客户端不限。2、 使用MySQL客户端创建数据库,并且在库中按......
  • 一文搞懂MySQL事务隔离级别和实现原理
    什么是事务数据库事务指的是一组数据操作,事务内的操作要么就是全部成功,要么就是全部失败,什么都不做,其实不是没做,是可能做了一部分但是只要有一步失败,就要回滚所有操作。MySQL事务都是指在InnoDB引擎下,MyISAM引擎是不支持事务。假设一个网购付款的操作,用户付款后要涉及到订单......