Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Jak używać DOWOLNEGO / NIEKTÓREGO operatora logicznego w SQL Server — samouczek SQL Server / TSQL, część 127

DOWOLNY operator logiczny zwraca TRUE, jeśli którekolwiek z zestawu porównań ma wartość TRUE. DOWOLNY porównuje wartość skalarną z zestawem wartości w pojedynczej kolumnie.

Uwaga:NIEKTÓRE i DOWOLNE są równoważne. W poniższych przykładach użyjemy DOWOLNEGO.

Scenariusz:

Załóżmy, że mamy dwie tabele dbo.Customer i dbo.Customer1. Obie tabele mają kolumnę Wiek. Jeśli chcesz pobrać wszystkie rekordy z tabeli dbo.Klient, w której Wiek jest co najmniej większy niż jedna wartość z kolumny Wiek z tabeli dbo.Klient1.

Rozwiązanie:

Możemy użyć podzapytania i funkcji MIN, aby napisać nasze zapytanie dla powyższego wymagania. Najpierw utwórzmy tabele.

--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) Pobierz wszystkie rekordy z tabeli dbo.Customer, gdzie Age jest większe niż min Wartość wieku tabeli dbo.Customer1 za pomocą funkcji Subquery i Min.
 
Select * From dbo.Customer
where Age> ( Select MIN(age) from dbo.Customer1)
 
 
 
 2) Użyj ANY, aby uzyskać wymagane wyniki.
Możemy użyć ANY zamiast funkcji Min z podzapytaniem. Ponieważ chcemy pobrać wszystkie wiersze z dbo.Customer, gdzie Age jest większe niż dowolna wartość kolumny Age w dbo.Customer, użyjemy>Any.
>ANY oznacza większe niż co najmniej jedną wartość, czyli większe niż minimum.

Select * From dbo.Customer
where Age>ANY ( Select age from dbo.Customer1)
 
 
 Otrzymaliśmy te same rekordy, które zostały zwrócone przez nasze pierwsze zapytanie.
Jeśli użyjesz =ANY, która jest równa IN. Z ANY możesz używać różnych operatorów porównania, takich jak =, <> , !=,> ,>=, !> , <, <=, !<



Wideo Demo :Jak używać DOWOLNEGO / NIEKTÓREGO operatora logicznego w 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. Jak wstawić podział wiersza w ciągu VARCHAR/NVARCHAR programu SQL Server?

  2. Dowiedz się, czy ograniczenie CHECK jest na poziomie kolumny czy na poziomie tabeli w programie SQL Server (przykłady T-SQL)

  3. OBJECTPROPERTY() vs OBJECTPROPERTYEX() w SQL Server:jaka jest różnica?

  4. Nie można połączyć się z serwerem SQL za pomocą PHP

  5. 4 wskazówki dotyczące konfigurowania alertów serwera SQL