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

Cara menggunakan Operator Logika APAPUN / BEBERAPA di SQL Server - Tutorial SQL Server / TSQL Bagian 127

Operator logika APAPUN mengembalikan TRUE jika salah satu dari serangkaian perbandingan adalah TRUE. ANY membandingkan nilai skalar dengan kumpulan nilai kolom tunggal.

Catatan :SOME dan ANY setara. Kami akan menggunakan APAPUN dalam contoh di bawah ini.

Skenario :

Katakanlah kita memiliki dua tabel dbo.Customer dan dbo.Customer1. Kedua tabel memiliki kolom Age. Jika Anda perlu mendapatkan semua catatan dari tabel dbo.Customer di mana Usia setidaknya lebih besar dari satu nilai dari kolom Usia dari tabel dbo.Customer1.

Solusi:

Kita dapat menggunakan fungsi subquery dan MIN untuk menulis query kita untuk kebutuhan di atas. Mari kita buat tabelnya terlebih dahulu.

--Create Customer Table
Create table dbo.Customer
 (Id int,
  FName VARCHAR(50),
  LName VARCHAR(50),
  CountryShortName CHAR(2),
  Age tinyint)
GO
--Insert Rows in dbo.Customer Table
insert into dbo.Customer
Values (
1,'Raza','M','PK',10),
(2,'Rita','John','US',12),
(3,'Sukhi','Singh',Null,25),
(4,'James','Smith','CA',60),
(5,'Robert','Ladson','US',54),
(6,'Alice','John','US',87)

--Create dbo.Customer1 table
Create table dbo.Customer1
 (Id int,
  FName VARCHAR(50),
  LName VARCHAR(50),
  CountryShortName CHAR(2),
  Age tinyint)
GO
--Insert rows in dbo.Customer1 Table
insert into dbo.Customer1
Values
(7,'Raza','M','US',33),
(8,'Dita','M','US',15),
(9,'Adita','M','US',29)
 
1) Dapatkan semua catatan dari tabel dbo.Customer di mana Age lebih besar dari nilai minimum Age dari tabel dbo.Customer1 dengan menggunakan fungsi Subquery dan Min.
 
Select * From dbo.Customer
where Age> ( Select MIN(age) from dbo.Customer1)
 
 
 
 2) Gunakan ANY untuk mendapatkan hasil yang diperlukan.
Kita dapat menggunakan ANY daripada menggunakan fungsi Min dengan subquery. Karena kami ingin mendapatkan semua baris dari dbo.Customer di mana Age lebih besar dari nilai kolom Age di dbo.Customer, Kami akan menggunakan>Any.
>ANY berarti lebih besar dari setidaknya satu nilai, yaitu lebih besar dari minimum.

Select * From dbo.Customer
where Age>ANY ( Select age from dbo.Customer1)
 
 
 Kami mendapatkan catatan yang sama dengan apa yang dikembalikan oleh kueri pertama kami.
Jika Anda akan menggunakan =ANY yang sama dengan IN. Dengan ANY Anda dapat menggunakan operator perbandingan yang berbeda seperti =, <> , !=,> ,>=, !> , <, <=, !<



Video Demo :Cara menggunakan Operator Logika APAPUN / BEBERAPA di SQL Server

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Konversi bilangan bulat ke hex dan hex ke integer

  2. Kapan Menggunakan Indeks Clustered atau Non-Clustered di SQL Server

  3. Apakah mungkin menggunakan SqlGeography dengan Linq to Sql?

  4. Bagaimana mencegah pembaruan ke tabel, dengan pengecualian untuk satu situasi

  5. Cara Mengabaikan kesalahan Kunci Duplikat di T-SQL (SQL Server)