Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

MYSQL INNER JOIN untuk mendapatkan 3 jenis hasil

Menggunakan LEFT OUTER JOINs, Anda 3 pertanyaan dapat dilakukan sebagai:-

SELECT vehicles.ID 
FROM vehicles 
INNER JOIN insurance i1 
ON vehicles.ID = i1.vehicle_ID 
LEFT OUTER JOIN insurance i2 
ON i1.vehicle_ID = i2.vehicle_ID 
AND i2.expire > i1.expire
WHERE i2.id IS NULL
AND i1.expire < NOW()

Di sini ia melakukan gabungan luar kiri untuk tanggal kedaluwarsa asuransi nanti, dan memeriksa i2.id menjadi NULL untuk memastikan tidak ada tanggal kedaluwarsa yang ditemukan, dan kemudian memeriksa tanggal kedaluwarsa yang ditemukan untuk memeriksanya telah kedaluwarsa.

SELECT vehicles.ID 
FROM vehicles 
LEFT OUTER JOIN insurance i1 
ON vehicles.ID = i1.vehicle_ID 
WHERE i1.id IS NULL

Ini hanya memeriksa tidak ada catatan asuransi yang cocok

SELECT vehicles.ID 
FROM vehicles 
INNER JOIN insurance i1 
ON vehicles.ID = i1.vehicle_ID 
LEFT OUTER JOIN insurance i2 
ON i1.vehicle_ID = i2.vehicle_ID 
AND i2.expire > i1.expire
WHERE i2.id IS NULL
AND i1.expire >= NOW()

Sangat mirip dengan kueri pertama, ia melakukan gabungan luar kiri untuk tanggal kedaluwarsa asuransi nanti, dan memeriksa i2.id menjadi NULL untuk memastikan tidak ada tanggal kedaluwarsa yang ditemukan, dan kemudian memeriksa tanggal kedaluwarsa yang ditemukan untuk memeriksanya belum kedaluwarsa .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL / PHP:dapatkan semua hasil dalam waktu X hingga Y, dan deteksi jika ada waktu yang tersedia di antaranya

  2. Lacak Tampilan Halaman menggunakan PHP

  3. bantu saya memahami sekarang () untuk waktu mysql saat ini dan zona waktunya

  4. Loop Kursor MySQL tidak diperbarui

  5. Simpan gambar dalam sistem file dan gunakan mysql untuk mengindeks