Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да сравня две колони в SQL?

Ето един начин:

select coalesce(t1.ssn, t2.ssn)
from t1 full outer join
     t2
     on t1.ssn = t2.ssn
where t1.ssn is null or t2.ssn is null;

Това работи в повечето бази данни, но не и в MySQL. Следното трябва да работи в почти всяка база данни:

select ssn
from ((select ssn, 't1' as which
       from t1
      ) union all
      (select ssn, 't2' as which
       from t2
      )
     ) t
group by ssn
having count(distinct which) = 1



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Вграждане на mysql в java настолно приложение

  2. единична фиксирана таблица с множество колони срещу гъвкави абстрактни таблици

  3. Следващи/предишни идентификатори на MySQL (произволен ред на сортиране)

  4. Защо да не използвате времето за създаване на запис като първичен ключ?

  5. при инициализиране на PDO - трябва ли да направя:charset=UTF8 или charset=UTF8MB4?