ZBLOG

mysql on 和where

MySQL中的ONWHERE都是用于筛选数据的关键字,但它们之间有一些重要的区别。

  1. ON

在使用JOIN连接多个表时,需要使用ON来指定连接条件。这是因为在多个表连接时,不同表之间可能存在相同列名,而如果使用WHERE来进行筛选,则会出现歧义性。

例如,在以下两个表中:

table1:
id | name
---|-----
 1 | Tom 
 2 | Mary

table2:
id | age
---|----
 1 | 18 
 3 | 20

如果要查询两张表中所有记录,且以id作为连接条件,则可以使用以下SQL语句:

SELECT *
FROM table1
JOIN table2
ON table1.id = table2.id;

上述语句中的ON table1.id = table2.id就是指定了连接条件。也就是说,只有当table1和table2中id列的值相同时才会将它们关联起来。

  1. WHERE

与此不同,WHERE通常用于对单个表进行筛选操作。它可以用于选择符合特定条件的行,并根据需要排除其他行。

例如,在以下单个表中:

students:
id | name   | grade
---|--------|------
 1 | Tom    | A    
 2 | Mary   | B    
 3 | John   | C    

如果要查找成绩为A或B的学生,则可以使用以下SQL语句:

SELECT *
FROM students
WHERE grade = 'A' OR grade = 'B';

上述语句中的WHERE grade = 'A' OR grade = 'B'就是指定了筛选条件。它会在students表中选择所有成绩为A或B的行。

总之,ONWHERE都是用于筛选数据的关键字,但它们的使用场景不同。在连接多个表时需要使用ON来指定连接条件,在对单个表进行筛选时需要使用WHERE来指定筛选条件。

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=6210

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?