Select (SQL)

Аз Википедиа
Ҷаҳиш ба: новбари, Ҷустуҷӯи

SELECT (ба забони англисӣ, маънояш «интихоб кардан») — оператори забони DML (Data Manipulation Language) -и SQL мебошад,ки барои бозгардонидани маҷмӯи додаҳо (интихоб) аз базаи додаҳо,истифода мешавад.

Дар бисёр ҳолатҳо маълумотҳо аз як ҷадвал ва якчанто ҷадвалҳои базаи додаҳоинтихоб карда мешавад. Дар ҳамон СИБД, ки дар он тартиб (инглисӣ: view) ва тартиби захирашуда (инглисӣ: stored procedure) мавҷуд аст, инчунини маҷмӯи маълумоти лозимиро гирифтан мумкиан аст.

Дар вақти ташкил намудани дархости SELECT истифодабаранда маҷмӯи маълумотҳои интизориро мегузорад: намуд (маҷмӯи сутунҳо) ва дохили он.

Запрос выполняется следующим образом: сначала извлекаются все записи из таблицы, а затем для каждой записи набора проверяется её соответствие заданному критерию. Если осуществляется слияние из нескольких таблиц, то сначала составляется произведение таблиц, а уже затем из полученного набора отбираются требуемые записи.


Сохти оператор[вироиш]

Оператори SELECT чунин сохт дорад:

SELECT 
       [DISTINCT | DISTINCTROW | ALL]
       select_expression,...
   [FROM table_references]
     [WHERE where_definition]
     [GROUP BY {unsigned_integer | col_name | formula}]
     [HAVING where_definition]
     [ORDER BY {unsigned_integer | col_name | formula} [ASC | DESC], ...]

Формати дархост бо истифодабарии ин оператор:

SELECT рӯйихати майдонҳо FROM рӯйихати ҷадвалҳо WHERE шарт…

Калимаҳои калиОсндии асосие, ки ба дархости SELECT таалуқ доранд инҳоянд:

  • WHERE — барои муайян кардани сатрҳое, ки бояд интихоб шаванд ё ба GROUP BY дохил шаванд истифода мешавад.
  • GROUP BY — барои иттиҳод намудани сатрҳое, ки мазмуни якхела доранд истифода мешавад.
  • HAVING — барои муайян намудани сатрҳое, ки баъди GROUP BY бояд итихоб шаванд истифода мешавад.
  • ORDER BY — истифода мешавад, барои муайян намудан дар вақти баровардани натиҷа , кадом сутун барои ба навъҳо ҷудокардан истифода шавад .

Мисолҳо[вироиш]

Ҷадвали «T» Дархост Натиҷа
C1 C2
1 a
2 b
SELECT * FROM T;
C1 C2
1 a
2 b
C1 C2
1 a
2 b
SELECT C1 FROM T;
C1
1
2
C1 C2
1 a
2 b
SELECT * FROM T WHERE C1 = 1;
C1 C2
1 a
C1 C2
1 a
2 b
SELECT * FROM T ORDER BY C1 DESC;
C1 C2
2 b
1 a

Барои ҷадвали T дархости

SELECT * FROM T;

ҳамаи сутунҳо ва сатрҳои ин ҷадвалро бармегардонад. Барои ҳамон ҷадвал дархости

SELECT C1 FROM T;

маълумоти дар сутуни C1 ҳаммаи сатрҳои дар ҷадвал бударо мебарорад.