Kde (SQL) - Where (SQL) - Wikipedia
tento článek potřebuje další citace pro ověření.Září 2014) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
A KDE
doložka v SQL určuje, že SQL Jazyk pro manipulaci s daty (DML) prohlášení by mělo pouze ovlivnit řádky které splňují zadaná kritéria. Kritéria jsou vyjádřena ve formě predikátů. KDE
klauzule nejsou povinnými klauzulemi příkazů SQL DML, ale lze je použít k omezení počtu řádků ovlivněných příkazem SQL DML nebo vrácených dotazem. Stručně řečeno, klauzule WHERE se používá k extrakci pouze těch výsledků z příkazu SQL, například: SELECT, INSERT, UPDATE nebo DELETE.[1]
Přehled
KDE
je SQL vyhrazené slovo.
The KDE
klauzule se používá ve spojení s příkazy SQL DML a má následující obecnou formu:
SQL-DML-ProhlášeníZ název_tabulky KDE predikát
všechny řádky, pro které je predikát v KDE
klauzule je True jsou ovlivněny (nebo vráceny) příkazem nebo dotazem SQL DML. Řádky, u kterých se predikát vyhodnotí jako nepravdivý nebo neznámý (NULA ) nejsou ovlivněny příkazem nebo dotazem DML.
Následující dotaz vrátí pouze tyto řádky z tabulky mytable kde hodnota v sloupec mycol je větší než 100.
VYBRAT *Z mytableKDE mycol > 100
Následující VYMAZAT
prohlášení odstraní z tabulky pouze tyto řádky mytable kde sloupec mycol je buď NULL, nebo má hodnotu rovnou 100.
VYMAZATZ mytableKDE mycol JE NULA NEBO mycol = 100
Predikáty
Jednoduché predikáty používají jeden z operátorů =
, <>
, >
, >=
, <
, <=
, V
, MEZI
, JAKO
, JE NULL
nebo NENÍ NULL
.
V případě potřeby lze predikáty uvést v závorkách. Klíčová slova A
a NEBO
lze použít ke kombinaci dvou predikátů do nového. Pokud je použito více kombinací, lze použít závorky k seskupení kombinací k označení pořadí vyhodnocení. Bez závorek A
operátor má silnější vazbu než NEBO
.
Následující příklad odstraní řádky z mytable kde hodnota mycol je větší než 100, a hodnota položka se rovná řetězec doslovný 'Kladivo':
VYMAZATZ mytableKDE mycol > 100 A položka = 'Kladivo'
V
V
najde všechny hodnoty existující v sadě kandidátů.
VYBRAT ename KDE ename V ('Montreal', 'Quebec')
Všechny řádky odpovídají predikátu, pokud je jejich hodnota jednou z kandidátské sady hodnot. Jedná se o stejné chování jako
VYBRAT ename KDE ename='hodnota1' NEBO ename='value2'
až na to, že ten druhý mohl umožnit srovnání několika sloupců, z nichž každý V
klauzule ne. U většího počtu kandidátů V
je méně upovídaný.
MEZI
MEZI
najde všechny hodnoty v rozsahu.
VYBRAT ename KDE ename MEZI 'hodnota1' A 'value2'
VYBRAT plat z emp KDE plat MEZI 5000 A 10000
Všechny řádky se shodují s predikátem, pokud je jejich hodnota mezi „hodnotou1“ a „hodnotou2“ včetně.
JAKO
JAKO
najde řetězec odpovídající určitému popisu.
- Konec Divoká karta
- Najděte libovolný řetězec, který začíná písmenem „S“
VYBRAT ename Z emp KDE ename JAKO 'S%';
- Najděte libovolný řetězec, který začíná písmenem „S“
- Přední zástupný znak
- Najděte libovolný řetězec, který končí písmenem „S“
VYBRAT ename Z emp KDE ename JAKO '% S';
- Najděte libovolný řetězec, který končí písmenem „S“
- Více zástupných znaků
- Najděte libovolný řetězec, který kdekoli obsahuje písmeno „S“
VYBRAT ename Z emp KDE ename JAKO '% S%';
- Najděte libovolný řetězec, který kdekoli obsahuje písmeno „S“
- Zástupný znak pro jeden znak
- Najděte libovolný řetězec, který obsahuje písmeno „A“, za kterým následuje jakýkoli jednotlivý znak následovaný písmenem „E“
VYBRAT ename Z emp KDE ename JAKO '% A_E%';
- Najděte libovolný řetězec, který obsahuje písmeno „A“, za kterým následuje jakýkoli jednotlivý znak následovaný písmenem „E“
- Třídy znaků[2]
- Najděte libovolný řetězec, který začíná písmenem nebo číslem nebo symbolem „_“
VYBRAT ename Z emp KDE ename JAKO „[a-zA-Z0-9 _]%“;
- Najděte libovolný řetězec, který začíná písmenem nebo číslem nebo symbolem „_“
Programátoři SQL si musí být vědomi toho, že predikát LIKE obvykle provádí vyhledávání bez běžné výhody indexů výkonu. Používání '=', '<>' atd. Místo toho zvýší výkon. Uživatelé predikátu LIKE by si měli být vědomi toho, že rozlišování velkých a malých písmen (např. „S“ oproti „s“) se může lišit v závislosti na databázovém produktu nebo konfiguraci.
Reference
- ^ „Klauzule SQL WHERE - Věci, které začátečníci musí vědět“.
- ^ Microsoft Technet Vyvolány 21 November 2013.
externí odkazy
- PSOUG Home Puget Sound Skupina uživatelů Oracle uvádí několik příkladů příkazů SELECT s klauzulemi WHERE.