!=和<>
相同点:两个比较符作用相同
不同点:!=是ANSI标准中的一部分,因此也可以用在其他数据库中。而<>只能在mysql中使用。
建议:如果可以都用!=,这样可以减少必要的迁移成本,如mysql的sql迁移到hive等。但是需要知道<>符号的作用作为知识面的扩充。
=和<=>
相同点:两个比较符作用相同
不同点:
1、=是ANSI标准中的一部分,因此也可以用在其他数据库中。而<=>只能在mysql中使用。
建议:如果可以都用=,这样可以减少必要的迁移成本,如mysql的sql迁移到hive等。但是需要知道<=>符号的作用作为知识面的扩充。
2、<=> 可以代替is
is和<=>
相同点:两个比较符作用相同
不同点:
1、is是ANSI标准中的一部分,因此也可以用在其他数据库中。而<=>只能在mysql中使用。
建议:如果可以都用is,这样可以减少必要的迁移成本,如mysql的sql迁移到hive等。但是需要知道<=>符号的作用作为知识面的扩充。
2、<=> 可以代替is,但是is not 无法代替
扩展
1、可见<=> 可以代替= 、is
2、demo
name = 'aaa' --> name <=> 'aaa'
name is null --> name <=> null
name is not null --> not (name <=> null)