🛢️
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. Set Operations

EXCEPT

PreviousINTERSECTNextGrouping sets, Cube, and Rollup

Last updated 1 year ago

Was this helpful?

Ushbu qoʻllanmada PostgreSQL EXCEPT operatoridan ikkinchi soʻrovning chiqishida koʻrsatilmagan birinchi soʻrovdagi qatorlarni qaytarish uchun qanday foydalanishni oʻrganasiz.

UNION va INTERSECT operatorlari singari, EXCEPT operatori ikki yoki undan ortiq so'rovlarning natijalar to'plamini solishtirish orqali qatorlarni qaytaradi.

EXCEPT operatori birinchi (chap) so'rovdan ikkinchi (o'ng) so'rovning chiqishida bo'lmagan alohida qatorlarni qaytaradi.

Quyida EXCEPT operatorining sintaksisi tasvirlangan.

SELECT select_list
FROM A
EXCEPT 
SELECT select_list
FROM B;

EXCEPTda ishtirok etadigan so'rovlar quyidagi qoidalarga amal qilishi kerak:

  • Ikkala so'rovda ustunlar soni va ularning tartibi bir xil bo'lishi kerak.

  • Tegishli ustunlarning ma'lumotlar turlari mos bo'lishi kerak.

Quyidagi Venn diagrammasi EXCEPT operatorini ko'rsatadi:

PostgreSQL EXCEPT operator misollari

Biz UNION qoʻllanmasida yaratilgan top_rated_films va most_popular_films jadvallaridan foydalanamiz:

top_rated_films jadvali:

most_popular_films jadvali:

Quyidagi bayonot mashhur bo'lmagan eng yuqori baholangan filmlarni topish uchun EXCEPT operatoridan foydalanadi:

SELECT * FROM top_rated_films
EXCEPT 
SELECT * FROM most_popular_films;

Quyidagi bayonot EXCEPT operatori tomonidan qaytarilgan natijalar to'plamini saralash uchun so'rovdagi ORDER BY bandidan foydalanadi:

SELECT * FROM top_rated_films
EXCEPT 
SELECT * FROM most_popular_films
ORDER BY title;

E'tibor bering, biz filmlarni sarlavha bo'yicha saralash uchun bayonotning oxiriga ORDER BY bandini qo'yganmiz.

PostgreSQL EXCEPT operatoridan ikkinchi so'rovning natijalar to'plamida ko'rinmaydigan birinchi so'rovdagi qatorlarni olish uchun foydalaning.

output
table
table
output