iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >MySQL的查询操作
  • 742
分享到

MySQL的查询操作

2024-04-02 19:04:59 742人浏览 独家记忆
摘要

1. 基础的查询操作 #简单查询 select * from emp; //查询emp中所有的记录 select empno, job,ename from emp; //查询em

1. 基础的查询操作

#简单查询
select * from emp;   //查询emp中所有的记录
select empno, job,ename from emp;  //查询emp表中的某些字段
select ename as 名字 from emp;   //使用字段别名

去重 distinct

select distinct deotno from emp; //去除重复的行(针对字段而言)

排序 order by

#默认是升序(asc),降序(desc)
select  *  from emp order by sal desc;    //以工资按降序排序
select  *  from epm order by sal , deptno  //多字段排序
select  sal*12  annsal  from epm order by annsal   //别名排序

条件查询 where

select  *  from emp where sal>1000;   //工资大于1000的
select  *  from emp where sal>1000  and  sal<2000;
select  *  from emp where sal>5000  or  sal<1000
select  *  from emp where sal<>2500   //工资不等于2500
select  *  from emp where sal  is null   //工资不空的
select  *  from emp where sal>0 or 1=1;  //恒等式

ps:运算符的优先级:算术>连接>比较>逻辑

分组查询(group by)
描述:将表中的数据分成若干个小组
语法:select 字段 from where 条件 group by 字段 order by 字段

#例:
select 字段 from where 条件 group by 字段 order by 字段
ps:在group  by 分组,select 子句,不能写group by没有的字段。除非这些字段用在聚合函数中

过滤 having
描述:过滤分组之后的结果,只能出现在group by 的后面

#例:
select deptno , count(1),avg(sal) from emp group by deptno having avg(sal) >2000
select avg(sal) avg_sal,deptno from emp group by deptno having  avg_sal>2000;

执行过程:from –where –group by --- having –select ---order by
分页

#例:
select * from emp limit 0 , 5 ;  //从第1行开始取,取5行

模糊查询

例:
select * from emp where ename like 's%'
ps:
%:表示0~多个任意字符
_:表示1个任意字符

2. 内连接与外连接

(1)内连接:

#语法:
select  table1.column,table2.column from table1,table2 where table1.column= table2.column
select dept.DEPTNO,ename ,dname from emp inner join dept on emp.DEPTNO =dept.DEPTNO
select emp.ename,dept.dname from emp inner join dept using(deptno)

注意:一般的如果两张表示通过外键连接的,使用第1,2种查询方法,如果不是外键连接的使用1种查询方法。第3中方式的using中填入,两张表中字段名称相同的字段,而且通用列字段只出现一次(即去除重复的字段)
内连接的特点

  • 关联表中都出现的字段值最终才能出现在结果集中
  • 内连接与顺序无关

    (2)外连接:

    左外连接
    描述:两个表在连接的过程中除了返回满足条件的行以外,还返回左表中不满足条件的行,这种连接叫左外连接。

    #例:
    select deptno ,dname,empno,ename from dept left join emp  using(deptno)   //左外连接

    右外连接
    描述:两个表在连接的过程中除了返回满足条件的行以外,还返回右表中不满足条件的行,这种连接叫右外连接。

    #例:
    select deptno ,dname,empno,ename from dept right join emp  using(deptno)   //右外连接

    全外连接
    描述:两个表在连接的过程中除了返回满足条件的行以外,还返回两个表中不满足条件的行,这种连接叫做全外连接。(笛卡尔积)

    #例:
    select deptno ,dname,empno,ename from dept full join emp  using(deptno)   //全外连接

    自然连接
    描述:特殊的等值连接:不需要声明相等的字段,会自动匹配

    #例:
    select * from emp natural join dept;    (等值连接)

    外连接的特点

  • 有主从之分,与连接顺序有关
  • 哪一个 是主表,就遍历哪一个表,然后与从表匹配相应的记录,合并,没有匹配到的用null填充

3. 子查询

语法:select 字段 from table where 表达式 operator (子查询字段)。
特点:子查询在主查询前执行一次,主查询使用子查询的结果
使用
  - 单行子查询:如果使用子查询的结果是1行,可以使用比较运算符(> < <>)
  - 多行子查询:如果使用子查询的结果是多行,则 all 、any in
  - exists:select from dept e where exists (select from emp e1 where sal>2000 and e1.deptno=e.deptno)
in和exists的区别
  - in:先执行子查询,将结果返回给主查询,主查询继续执行
  - 先执行主查询,将主查询的值依次在子查询进行匹配,根据是否匹配返回true或者false,如果是true连接展示,否则不展示。
子查询和关联查询的使用时机
  - 子查询:查询条件和结果放在同一张表中
  - 关联查询,查询条件和结果分布在多张表中

3. 联合查询

关键字:uNIOn、union all。
区别
  - union:会发生去重
  - union all:不会发生去重
用法

#例:
select * from emp where sal>2000 union select * from emp where deptno>20
select * from emp where sal>2000 union all select * from emp where deptno>20

使用要求:联合的结果集必须一致(两张表一致,查询的字段也一致),不然会发生错误。

关于sql的交集、差集、并集:
MySQL的查询操作

您可能感兴趣的文档:

--结束END--

本文标题: MySQL的查询操作

本文链接: https://www.lsjlt.com/news/48349.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MySQL的查询操作
    1. 基础的查询操作 #简单查询 select * from emp; //查询emp中所有的记录 select empno, job,ename from emp; //查询em...
    99+
    2022-10-18
  • MySQL查询学习之基础查询操作
    前言 MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management System:...
    99+
    2022-11-12
  • MySQL数据库的查询操作
    目录 一、数据查询语句的基本格式 二、单表查询 查询表中的若干列 查询指定列 查询经过计算的值 选择表中的若干元组 去重 条件查询 order by 子句 聚集函数 group by 子句 三、连接查询 等值与非等值连接查询 外连接 多表连...
    99+
    2023-09-06
    数据库 sql mysql
  • Python + pymysql 之 MySQL 查询操作
    在MySQL中构建一个测试表,如下: 查询单条数据 # -*- coding: UTF-8 -*-import pymysqldef mysql_query(): """ MySQL查询 :return: """ ...
    99+
    2023-10-09
    python mysql pymysql
  • 【MySQL】查询操作(基础篇)
    目录 1、查询操作(Retrieve) 1.1 全列查询 1.2 指定列查询 1.3 查询字段为表达式 1.4 别名 1.5 去重:DISTINCT 1.6 排序:ORDER BY 1.7 条件查询:WHERE  1.8 分页查...
    99+
    2023-09-01
    mysql 数据库
  • statement/mybatis操作mysql普通查询;游标查询;流式查询
    概述 我当前的jdbc驱动版本如下 mysql-connector-java-8.0.30.jar 在实际业务中一般用普通查询就可以覆盖90%的场景了。但是在一些环境需要去处理大量数据,而这些数据可能...
    99+
    2023-09-27
    mybatis mysql java
  • mysql连接查询的简单操作
    下文主要给大家带来mysql连接查询的简单操作,希望这些内容能够带给大家实际用处,这也是我编辑mysql连接查询的简单操作这篇文章的主要目的。好了,废话不多说,大家直接看下文吧。1.innerjoin(内连...
    99+
    2022-10-18
  • MySQL聚合查询与联合查询操作实例
    目录一. 聚合查询1.聚合函数(count,sum,avg...)2.GROUP BY子句3.HAVING二. 联合查询((重点)多表)1.内连接2.外连接3.自连接4.子查...
    99+
    2022-11-13
  • MySQL中的聚合查询和联合查询操作代码
    目录一、聚合查询(行与行之间的计算)1.常见的聚合函数有:2.group by3.having二、联合查询(多表查询)1.进行联合查询的步骤:2.内连接(from,join on)3.外连接(left/righ...
    99+
    2023-03-20
    mysql聚合查询和联合查询 mysql聚合查询 mysql联合查询
  • MySQL 数据库聚合查询和联合查询操作
    目录1. 插入被查询的结果2. 聚合查询2.1 介绍2.2 聚合函数2.3 group by 子句2.4 having3. 联合查询3.1 介绍3.2 内连接3.3 外连接...
    99+
    2022-11-12
  • MySQL聚合查询与联合查询操作的示例分析
    这篇文章主要为大家展示了“MySQL聚合查询与联合查询操作的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“MySQL聚合查询与联合查询操作的示例分析”这篇文章吧。一. 聚合查询1.聚合函...
    99+
    2023-06-29
  • mysql 多行子查询操作符图
    ...
    99+
    2022-10-18
  • MySQL子查询操作实例详解
    本文实例总结了MySQL子查询操作。分享给大家供大家参考,具体如下: 定义两个表tb1和tb2 CREATE table tbl1 ( num1 INT NOT NULL); CREATE table ...
    99+
    2022-10-18
  • mysql中怎么实现查询操作
    这篇文章将为大家详细讲解有关mysql中怎么实现查询操作,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1、选择所有的记录   ...
    99+
    2022-10-18
  • mysql中操作多行子查询图
    本文主要给大家介绍mysql中操作多行子查询图,文章内容都是笔者用心摘选和编辑的,具有一定的针对性,对大家的参考意义还是比较大的,下面跟笔者一起了解下mysql中操作多行子查询图吧。看完以上关于mysql中...
    99+
    2022-10-18
  • mysql如何in查询操作排序
    本文将为大家详细介绍“mysql如何in查询操作排序”,内容步骤清晰详细,细节处理妥当,而小编每天都会更新不同的知识点,希望这篇“mysql如何in查询操作排序”能够给你意想不...
    99+
    2022-10-19
  • MySQL约束和表的复杂查询操作
    ✨博客主页: 心荣~ ✨系列专栏:【MySQL】 ✨一句短话: 难在坚持,贵在坚持,成在坚持! 文章目录 一. 数据库约束1. 数据库常用约束2. not null 约束3. unique约束...
    99+
    2023-09-14
    mysql 数据库 sql
  • 用python操作mysql数据库(之简单查询操作)
    1、mysql安装    此处省略一万字.......2、pip安装MySQLdb模块sudo pip install mysql-python3、简单代码#!/us...
    99+
    2022-10-18
  • MySQL查询语句简单操作示例
    本文实例讲述了MySQL查询语句简单操作。分享给大家供大家参考,具体如下: 查询 创建数据库、数据表 -- 创建数据库 create database python_test_1 charset=utf...
    99+
    2022-10-18
  • MySQL快速回顾:高级查询操作
    8.1 排序数据 检索出的数据并不是以纯粹的随机顺序显示的。如果不排序,数据一般将以它在底层表中出现的顺序显示。这可以是数据最初添加到表中的顺序。但是,如果数据后来进行过更新或删除,则此顺序将会受到MySQL重用回收存储空间的影响...
    99+
    2019-02-26
    MySQL快速回顾:高级查询操作
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作