> For the complete documentation index, see [llms.txt](https://postgres.realtemirov.uz/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://postgres.realtemirov.uz/basic/filtering-data/3.-or.md).

# OR

Ushbu qo'llanmada siz PostgreSQL `OR` mantiqiy operatori va undan bir nechta mantiqiy ifodalarni birlashtirish uchun qanday foydalanish haqida bilib olasiz.

PostgreSQLda mantiqiy qiymat uchta qiymatdan biriga ega bo'lishi mumkin: `true`, `false` va `null`.

PostgreSQL `true`, `'t'`, `'true'`, `'y'`, `'yes'`, `'1'` dan to'g'ri va `false`, `'f'`, `'false'`, `'n'`, `'no'` va `'0'` dan yo'lg'onni ifodalash uchun foydalanadi.

Mantiqiy ifoda mantiqiy qiymatga baholanadigan ifodadir. Masalan, `1<>1` ifoda mantiqiy ifoda bo'lib, `noto'g'ri` deb baholanadi:

```sql
SELECT 1 <> 1 AS result;
```

Chiqish:

```sql
 result
--------
 f
(1 row)
```

Chiqishdagi `f` harfi `false` ekanligini bildiradi.

`OR` operatori bir nechta mantiqiy ifodalarni birlashtirgan mantiqiy operatordir. Mana `OR` operatorining asosiy sintaksisi:

```sql
expression1 OR expression2
```

Ushbu sintaksisda `expression1` va `expression2` mantiqiy ifodalar bo'lib, ular `true`, `false` yoki `null` deb baholanadi.

`OR` operatori iboralardan birortasi rost bo'lsagina `true` qiymatini qaytaradi. Agar ikkala ifoda ham noto'g'ri bo'lsa, u `false` qaytaradi. Aks holda, u `null`ni qaytaradi.

Quyidagi jadvalda rost, noto'g'ri va nullni birlashtirganda `OR` operatorining natijalari ko'rsatilgan.

| OR    | True | False | Null |
| ----- | ---- | ----- | ---- |
| True  | True | True  | True |
| False | True | False | Null |
| Null  | True | Null  | Null |

Amalda siz, natijalar to'plamiga qo'shilishi uchun ko'rsatilgan ifodalardan biri to'g'ri bo'lishini ta'minlash uchun odatda `OR` operatoridan `WHERE` bandida foydalanasiz.

## PostgreSQL `OR` operatori

Keling, `OR` operatoridan foydalanishning ba'zi misollarini ko'rib chiqaylik.

### 1. Asosiy PostgreSQL `OR` operator misollari

Quyidagi misol ikkita haqiqiy qiymatni birlashtirish uchun `OR` operatoridan foydalanadi, bu esa rostni qaytaradi:

```sql
SELECT true AND true AS result;
```

Chiqish:

```sql
 result
--------
 t
(1 row)
```

Quyidagi iborada `OR` operatori rost va yolgʻonni birlashtirish uchun ishlatiladi, bu esa toʻgʻri qaytaradi:

```sql
SELECT true AND false AS result;
```

Chiqish:

```sql
 result
--------
 t
(1 row)
```

Quyidagi misol `OR` operatoridan `true` qiymatini `null` bilan birlashtirish uchun foydalanadi, bu esa `true` qiymatini qaytaradi:

```sql
SELECT true OR null AS result;
```

Chiqish:

```sql
 result
--------
 t
(1 row)
```

Quyidagi misolda `OR` operatori `false` so'zni `false` bilan birlashtirish uchun ishlatiladi, bu esa `false` qaytaradi:

```sql
SELECT false OR false AS result;
```

Chiqish:

```sql
 result
--------
 f
(1 row)
```

Quyidagi misol `OR` operatoridan `false` va `null`ni birlashtirish uchun foydalanadi, bu esa `null`ni qaytaradi:

```sql
SELECT false OR null AS result;
```

Chiqish:

```sql
 result
--------
 null
(1 row)
```

Quyidagi misolda `OR` operatori `false` so'zni `false` bilan birlashtirish uchun ishlatiladi, bu esa `false` qaytaradi:

```sql
SELECT false OR false AS result;
```

Chiqish:

```sql
 result
--------
 f
(1 row)
```

## 2. `WHERE` bandida `OR` operatoridan foydalanish

Namoyish uchun [namunaviy](https://www.postgresqltutorial.com/wp-content/uploads/2019/05/dvdrental.zip) ma'lumotlar bazasidagi `film` jadvalidan foydalanamiz.

![film table](https://www.postgresqltutorial.com/wp-content/uploads/2019/05/film.png)

Quyidagi misolda ijara narxi `0,99` yoki `2,99` bo'lgan filmlarni topish uchun `WHERE` bandidagi `OR` operatoridan foydalaniladi:

```sql
SELECT 
  title, 
  rental_rate 
FROM 
  film 
WHERE 
  rental_rate = 0.99 OR 
  rental_rate = 2.99;
```

Chiqish:

```sql
title            | rental_rate
-----------------------------+-------------
 Academy Dinosaur            |        0.99
 Adaptation Holes            |        2.99
 Affair Prejudice            |        2.99
 African Egg                 |        2.99
...
```

Bir nechta mantiqiy ifodalarni birlashtirish uchun `OR` operatoridan foydalaning.

© [postgresqltutorial.com](https://www.postgresqltutorial.com/postgresql-tutorial/postgresql-or/)
