Sdílet prostřednictvím


Zahrnutí nebo vyloučení řádků (vizuální databázové nástroje)

platí pro:SQL Server

Pokud chcete omezit počet řádků, které SELECT by měl dotaz vrátit, vytvoříte podmínky hledání nebo kritéria filtru. V SQL se v WHERE klauzuli příkazu zobrazí podmínky hledání nebo pokud vytváříte agregační dotaz v klauzuli HAVING .

Poznámka

Pomocí podmínek hledání můžete také určit, které řádky jsou ovlivněny dotazem Aktualizace, Vložit výsledky, Vložit hodnoty, Odstranit nebo Vytvořit tabulku.

Když se dotaz spustí, databázový stroj zkontroluje a použije podmínku hledání na každý řádek v tabulkách, které hledáte. Pokud řádek splňuje podmínku, je součástí dotazu. Například podmínka hledání, která by našla všechny zaměstnance v konkrétní oblasti, může být:

region = 'UK'

Pokud chcete vytvořit kritéria pro zahrnutí řádku do výsledku, můžete použít více podmínek hledání. Například následující kritérium hledání se skládá ze dvou podmínek hledání. Dotaz obsahuje řádek v sadě výsledků pouze v případě, že tento řádek splňuje obě podmínky.

region = 'UK' AND product_line = 'Housewares'

Tyto podmínky můžete kombinovat s AND nebo OR. Předchozí příklad používá AND. Naproti tomu následující kritérium používá OR. Sada výsledků obsahuje libovolný řádek, který splňuje podmínky hledání nebo obě tyto podmínky:

region = 'UK' OR product_line = 'Housewares'

Můžete dokonce kombinovat podmínky hledání v jednom sloupci. Například následující kritérium kombinuje dvě podmínky ve sloupci oblasti:

region = 'UK' OR region = 'US'

Podrobnosti o kombinování podmínek hledání najdete v následujících článcích:

Příklady

Tady je několik příkladů dotazů, které používají různé operátory a kritéria řádků:

  • Literál

    Jeden text, číselná, kalendářní nebo logická hodnota Následující příklad používá konstantu k vyhledání všech datových řádků pro zaměstnance ve Spojeném království.

    WHERE region = 'UK'
    
  • Odkaz na sloupec

    Porovná hodnoty v jednom sloupci s hodnotami v druhém. Následující příklad prohledá products tabulku pro všechny řádky, ve kterých je hodnota produkčních nákladů nižší než náklady na dopravu:

    WHERE prod_cost < ship_cost
    
  • Funkce

    Odkaz na funkci, kterou back-end databáze dokáže přeložit, aby vypočítal hodnotu hledání. Funkce může být funkce definovaná databázovým serverem nebo uživatelem definovanou funkcí, která vrací skalární hodnotu. Následující příklad vyhledá objednávky zadané dnes (funkce GETDATE( ) vrátí aktuální datum):

    WHERE order_date = GETDATE()
    
  • NULL Následující příklad vyhledá tabulku pro všechny autory authors , kteří mají křestní jméno v souboru:

    WHERE au_fname IS NOT NULL
    
  • Výpočet

    Výsledek výpočtu, který může zahrnovat literály, odkazy na sloupce nebo jiné výrazy. Následující příklad vyhledá tabulku products a vyhledá všechny řádky, ve kterých je maloobchodní prodejní cena vyšší než dvojnásobek produkčních nákladů:

    WHERE sales_price > (prod_cost * 2)