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

MySQL零散拾遗(三)

在mysql中,JOIN ON 和 WHERE 的作用和用法是怎么样的?

在MySQL中,JOIN语句用于将两个或多个表根据指定的关联条件合并成一个新的结果集。JOIN ONWHERE子句在JOIN语句中扮演着不同的角色,它们的用法和作用如下:

JOIN ON

  1. 作用JOIN ON用于指定两个表之间的关联条件。它定义了哪些列将被用来连接表。
  2. 位置JOIN ON紧随JOIN关键字之后。
  3. 用法:通常与INNER JOINLEFT JOINRIGHT JOINFULL JOIN一起使用,明确指定连接的依据。
  4. 示例
    SELECT customers.customer_name, orders.order_date
    FROM customers
    INNER JOIN orders ON customers.customer_id = orders.customer_id;
    
    在这个例子中,customers表和orders表通过customer_id字段连接。

WHERE

  1. 作用WHERE子句用于过滤结果集。它在数据聚合前对结果集进行筛选,即在执行GROUP BY之前。
  2. 位置WHERE子句通常位于FROM子句之后,但在GROUP BY子句之前。
  3. 用法WHERE子句可以包含对列值的比较、逻辑运算符(如AND、OR、NOT)等,用于限制查询结果。
  4. 示例
    SELECT customers.customer_name, orders.order_date
    FROM customers
    INNER JOIN orders ON customers.customer_id = orders.customer_id
    WHERE orders.order_date > '2024-01-01';
    
    在这个例子中,除了通过customer_id连接customersorders表外,还通过WHERE子句进一步过滤出2024年1月1日之后的订单。

区别和联系

  • 作用不同JOIN ON定义了表之间的连接条件,而WHERE用于过滤满足特定条件的记录。
  • 位置不同JOIN ON紧随JOIN关键字之后,而WHERE位于FROM子句之后。
  • 使用场景JOIN ON用于确定哪些表和列将被用来连接,WHERE用于进一步细化查询结果。

综合示例

SELECT customers.customer_name, orders.order_date
FROM customers
INNER JOIN orders ON customers.customer_id = orders.customer_id
WHERE orders.order_date > '2024-01-01'
AND customers.customer_name LIKE 'A%';

在这个查询中:

  • INNER JOIN orders ON customers.customer_id = orders.customer_id定义了customersorders表之间的连接条件。
  • WHERE orders.order_date > '2024-01-01'进一步过滤出2024年1月1日之后的订单。
  • AND customers.customer_name LIKE 'A%'进一步过滤出客户名称以字母"A"开头的记录。

通过这种方式,你可以灵活地组合使用JOIN ONWHERE来构建复杂的查询,满足不同的数据检索需求。

http://www.lryc.cn/news/405336.html

相关文章:

  • 鸿蒙 使用 Refresh 实现下拉刷新
  • 【JavaScript 算法】图的遍历:理解图的结构
  • Ubuntu 中默认的 root 用户密码
  • Rust编程-高级特性
  • JavaRegexImprove练习(1) (2024.7.22)
  • 基于YOLO模型的鸟类识别系统
  • WebRTC通话原理(SDP、STUN、 TURN、 信令服务器)
  • 面试场景题系列--(1)如果系统的 QPS 突然提升 10 倍该怎么设计?--xunznux
  • 【数学建模】——前沿图与网络模型:新时代算法解析与应用
  • 视频分帧【截取图片】(YOLO目标检测【生成数据集】)
  • Redis7(二)Redis持久化双雄
  • 发布支持TS的npm包
  • 计算机视觉9 全卷积网络
  • 02.C++入门基础(下)
  • 【数据结构】探索排序的奥秘
  • 数据结构面试知识点总结3
  • python-爬虫实例(5):将进酒,杯莫停!
  • AGI 之 【Hugging Face】 的【从零训练Transformer模型】之二 [ 从零训练一个模型 ] 的简单整理
  • 十大排序的稳定性和时间复杂度
  • 【系列教程之】1、点亮一个LED灯
  • 搜维尔科技:Manus Metagloves使用精确的量子跟踪技术捕捉手部每一个细节动作
  • 机器学习 | 阿里云安全恶意程序检测
  • python打包exe文件-实现记录
  • 基本的DQL语句-单表查询
  • Vue3 对比 Vue2
  • 2024中国大学生算法设计超级联赛(1)
  • offer题目51:数组中的逆序对
  • 45、PHP 实现滑动窗口的最大值
  • 【计算机视觉】siamfc论文复现实现目标追踪
  • 数学建模学习(111):改进遗传算法(引入模拟退火、轮盘赌和网格搜索)求解JSP问题