sql中on和where的区别-SQL

admin2年前 (2024-06-05)基础运维知识278
点击下载TXT

SQL 中 ON 和 WHERE 的区别

在 SQL 查询中,ON 和 WHERE 是两个常用的子句,在连接表和过滤数据时发挥着不同的作用。

ON 子句

ON 子句用于连接两个或多个表,基于它们之间的特定列值匹配。其语法如下:

SELECT ...
FROM table1
JOIN table2 ON table1.column = table2.column
登录后复制

ON 子句中的条件将过滤掉不满足匹配条件的行,从而仅返回满足条件的行的联合。

WHERE 子句

WHERE 子句用于过滤数据。它允许我们使用条件来指定我们想要从表中检索哪些行。其语法如下:

SELECT ...
FROM table
WHERE condition
登录后复制

WHERE 子句中的条件可以基于列值、函数或其他表达式。它将过滤掉不满足条件的行,仅返回满足条件的行。

总结

  • ON 子句用于连接表,基于条件过滤行的联合。
  • WHERE 子句用于过滤单个表中的行,基于条件过滤行本身。

示例

假设我们有两个表:

  • Customers(包含客户信息)
  • Orders(包含客户订单信息)

以下查询使用 ON 子句连接 Customers 和 Orders 表,并仅返回购买了价值超过 100 美元的订单:

SELECT *
FROM Customers
JOIN Orders ON Customers.customer_id = Orders.customer_id
WHERE Orders.order_total > 100
登录后复制

以下查询使用 WHERE 子句过滤 Customers 表,并仅返回名称以 "J" 开头的客户:

SELECT *
FROM Customers
WHERE name LIKE 'J%'
登录后复制

相关文章

sql编辑数据怎么加一列-SQL

SQL 中添加一列 在 SQL 中,可以通过使用 ALTER TABLE 语句向现有表中添加一列。语法如下: ALTER TABLE table_name ADD column_name data_...

mysql 42000到底怎么解决-mysql教程

如何解决 MySQL 错误 42000 MySQL 错误 42000 通常是由锁等待造成的。当一个线程尝试获取另一个线程已持有的锁时,就会发生这种情况。 解决方法: 1. 确定导致锁等待的查询 使...

怎么查看mysql端口号-mysql教程

如何查看 MySQL 端口号 查看 MySQL 端口号的方法有很多,具体取决于您使用的平台和 MySQL 版本。以下是最常用的方法: 1. 检查配置文件 MySQL 配置文件通常称为 my.cnf...

sql注入错误怎么办-SQL

如何应对 SQL 注入错误 SQL 注入是一种常见的网络安全威胁,攻击者可以利用这种威胁来窃取数据、破坏数据库或劫持网站。发生 SQL 注入错误时,您需要采取以下步骤: 1. 确定错误类型 确定错误...

mysql怎么启动cmd-mysql教程

如何在 MySQL 中启动 CMD 要在 MySQL 环境中启动命令提示符 (CMD),可以按以下步骤操作: 1. 打开 MySQL 命令提示符 Windows: 在开始菜单中搜索“cmd”并打...

mongodb怎么创建数据库-MongoDB

如何在 MongoDB 中创建数据库 为了在 MongoDB 中创建数据库,您需要执行以下简单的步骤: 1. 打开 MongoDB Shell 使用终端或命令提示符打开 MongoDB Shell:...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。