Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

T-SQL:Bagaimana Cara Memilih Nilai dalam Daftar Nilai yang TIDAK DI Tabel?

Untuk SQL Server 2008

SELECT email,
       CASE
         WHEN EXISTS(SELECT *
                     FROM   Users U
                     WHERE  E.email = U.email) THEN 'Exist'
         ELSE 'Not Exist'
       END AS [Status]
FROM   (VALUES('email1'),
              ('email2'),
              ('email3'),
              ('email4')) E(email)  

Untuk versi sebelumnya Anda dapat melakukan sesuatu yang serupa dengan tabel turunan UNION ALL -ing konstanta.

/*The SELECT list is the same as previously*/
FROM (
SELECT 'email1' UNION ALL
SELECT 'email2' UNION ALL
SELECT 'email3' UNION ALL
SELECT 'email4'
)  E(email)

Atau jika Anda hanya menginginkan yang tidak ada (seperti yang tersirat oleh judul) daripada hasil yang tepat yang diberikan dalam pertanyaan, Anda cukup melakukan ini

SELECT email
FROM   (VALUES('email1'),
              ('email2'),
              ('email3'),
              ('email4')) E(email)  
EXCEPT
SELECT email
FROM Users


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kembalikan Semua Batasan yang Dinonaktifkan di SQL Server (Contoh T-SQL)

  2. Cara Membuat SQL Trace Untuk Menangkap Acara SQL Server

  3. Mengapa penyetelan kinerja SQL adalah keterampilan manajemen basis data yang paling penting untuk dimiliki

  4. CREATE VIEW harus menjadi satu-satunya pernyataan dalam kumpulan

  5. Jumlah Inti Kerangka Entitas tidak memiliki kinerja yang optimal