🛢️
PostgreSQL
Grokking Algorithm
  • Content
  • Environment
  • Getting Started
    • Introduction
      • What is PostgreSQL
      • Introduction to PostgreSQL sample database
    • Postgres on Windows
      • Install PostgreSQL on Windows
      • Connect to PostgreSQL database server
      • Load the sample database into the PostgreSQL database server
    • Postgres on Linux
    • Install PostgreSQL on macOS
  • Basic
    • Querying Data
      • SELECT
      • Column alias
      • ORDER BY
      • SELECT DISTINCT
    • Filtering Data
      • WHERE
      • AND
      • OR
      • LIMIT
      • FETCH
      • IN
      • BETWEEN
      • LIKE
      • IS NULL
    • Joining Multiple tables
      • Joins
      • Table aliases
      • INNER JOIN
      • LEFT JOIN
      • RIGHT JOIN
      • SELF JOIN
      • FULL OUTER JOIN
      • CROSS JOIN
      • NATURAL JOIN
    • Grouping data
      • GROUP BY
      • HAVING
    • Set Operations
      • UNION
      • INTERSECT
      • EXCEPT
    • Grouping sets, Cube, and Rollup
      • Grouping sets
      • CUBE
      • ROLLUP
    • Subquery
      • Subquery
      • ANY
      • ALL
      • EXISTS
    • Common Table Expressions
      • PostgreSQL CTE
      • Recursive query using CTEs
    • Modifying Data
      • Insert
      • Insert multiple rows
      • Update
      • Update join
      • Delete
      • Upsert
    • Transactions
      • PostgreSQL Transaction
    • Import & Export Data
      • Import CSV file into Table
      • Export PostgreSQL Table to CSV file
    • Managing Tables
      • Data types
      • Create a table
      • Select into
      • Create table as
      • Auto-increment
      • Sequences
      • Identity column
      • Alter table
      • Rename table
      • Add column
      • Drop column
      • Change column data type
      • Rename column
      • Drop table
      • Truncate table
      • Temporary table
      • Copy a table
    • Understanding PostgreSQL constraints
      • Primary key
      • Foreign key
      • UNIQUE constraint
      • CHECK constraint
      • NOT NULL constraint
    • PostgreSQL Data Types in Depth
      • Boolean
      • CHAR, VARCHAR and TEXT
      • NUMERIC
      • Integer
      • DATE
      • Timestamp
      • Interval
      • TIME
      • UUID
      • Array
      • hstore
      • JSON
      • User-defined data types
  • Advanced
  • PG-PGSQL
  • Functions
  • Adminstration
  • API
Powered by GitBook
On this page

Was this helpful?

Edit on GitHub
  1. Basic
  2. Subquery

ALL

PreviousANYNextEXISTS

Last updated 1 year ago

Was this helpful?

Ushbu qoʻllanmada siz qiymatni quyi soʻrov tomonidan qaytarilgan qiymatlar roʻyxati bilan solishtirish uchun PostgreSQL ALL operatoridan qanday foydalanishni oʻrganasiz.

PostgreSQL ALL operatori qiymatni quyi so'rov tomonidan qaytarilgan qiymatlar ro'yxati bilan solishtirish orqali ma'lumotlarni so'rash imkonini beradi.

Quyida ALL operatorining sintaksisi tasvirlangan:

comparison_operator ALL (subquery)

Ushbu sintaksisda:

  • ALL operatoridan oldin teng (=), teng emas (!=), katta (>), katta yoki teng (>=), kichik (<) va kichik yoki yoki kabi taqqoslash operatori bo'lishi kerak. (<=) ga teng.

  • ALL operatoridan keyin pastki so'rov bo'lishi kerak, u ham qavslar bilan o'ralgan bo'lishi kerak.

Quyi so'rov ba'zi qatorlarni qaytaradi degan faraz bilan ALL operatori quyidagicha ishlaydi:

  1. column_name > ALL (subquery) agar qiymat subquery tomonidan qaytarilgan eng katta qiymatdan katta bo'lsa, ifoda rost deb baholanadi.

  2. column_name >= ALL (subquery) agar qiymat quyi so'rov tomonidan qaytarilgan eng katta qiymatdan katta yoki unga teng bo'lsa, ifoda rost deb baholanadi.

  3. column_name < ALL (subquery) agar qiymat quyi so'rov tomonidan qaytarilgan eng kichik qiymatdan kichik bo'lsa, ifoda rost deb baholanadi.

  4. column_name <= ALL (subquery) agar qiymat quyi so'rov tomonidan qaytarilgan eng kichik qiymatdan kichik yoki unga teng bo'lsa, ifoda rost deb baholanadi.

  5. column_name = ALL (subquery) agar qiymat quyi so'rov tomonidan qaytarilgan har qanday qiymatga teng bo'lsa, ifoda rost deb baholanadi.

  6. column_name != ALL (subquery) agar qiymat quyi so'rov tomonidan qaytarilgan qiymatga teng bo'lmasa, ifoda rost deb baholanadi.

Agar quyi so'rov hech qanday qatorni qaytarmasa, ALL operatori har doim rost deb baholaydi.

Namoyish uchun ma'lumotlar bazasidagi film jadvalidan foydalanamiz.

Quyidagi so'rov barcha filmlarning o'rtacha uzunliklarini film reytingi bo'yicha guruhlangan holda qaytaradi:

SELECT
    ROUND(AVG(length), 2) avg_length
FROM
    film
GROUP BY
    rating
ORDER BY
    avg_length DESC;

Uzunliklari yuqoridagi o'rtacha uzunliklar ro'yxatidan katta bo'lgan barcha filmlarni topish uchun siz ALL va operatordan kattaroq (>) dan quyidagi tarzda foydalanasiz:

SELECT
    film_id,
    title,
    length
FROM
    film
WHERE
    length > ALL (
            SELECT
                ROUND(AVG (length),2)
            FROM
                film
            GROUP BY
                rating
    )
ORDER BY
    length;

Natijadan aniq ko'rinib turibdiki, so'rov uzunligi pastki so'rov tomonidan qaytarilgan o'rtacha uzunlik ro'yxatidagi eng katta qiymatdan katta bo'lgan barcha filmlarni qaytaradi.

Ushbu qo'llanmada siz qiymatni quyi so'rov tomonidan qaytarilgan qiymatlar ro'yxati bilan solishtirish uchun PostgreSQL ALL operatoridan qanday foydalanishni o'rgandingiz.

namunaviy
table
output
output