SQL-nél mikor kell használni a where feltételt?
Itt emelt infoirmatikára gondolok, sokszor látom,hogy rácstáblázaton amikor csoportositás van akkor valamelyik mezőbe feltételként where feltételt használnak
Access
Szelekciós feltételt kell írni utána.
Pl. Adott CUSTOMERS(Id, Name, Age) relációs sémára illeszkedő Customers relációd az Access adatbázisodban. (Id a kulcs) Le szeretnéd kérdezni azokat a rekordokat, ahol az Age > 17. Tehát azok ügyfelek adataira vagy kíváncsi akik nagykorúak. SQL utasítás így néz ki akkor:
SELECT Id, Name FROM Customers WHERE Age > 17;
Hasonlóan működik DELETE, INSERT, UPDATE lekerdezéseknél.
Lényeg hogy a where után valami feltételt írsz, egy logikai kifejezést.
Afenti példa "magyarul"
SELECT Id, Name FROM Customers WHERE Age > 17;
Válaszd ki a custoomer táblábol az összes. Id name mezőt ahol (where) az age nagyobb mint 17
Szal azokból a sorokból kapod csak meg az id t és a nevet ahol a kor nagyobb mint 17
Ha egy sima select-hez nem írsz where-t, akkor a megadott táblák teljes Descarte-szorzatát kapod eredményül. (Ez a relációs adatbázisok alapvető működése.)
Pl. két tábla rekordjai:
A: város, megyekód
Miskolc, 1
Gyula, 2
B: megyekód, megye
1, Borsod
2, Békés
SELECT * from A,B;
Erre ezt fogod kapni:
Miskolc, 1, 1, Borsod
Miskolc, 1, 2, Békés
Gyula, 2, 1, Borsod
Gyula, 2, 2, Békés
Ennek nincs sok értelme, ebből neked csak konkrét sorok kellenek, konkrétan ahol a két tábla megyekódjai egyeznek:
SELECT * from A,B WHERE A.megyekod = B.megyekód;
Miskolc, 1, 1, Borsod
Gyula, 2, 2, Békés
Ezzel csak azokat a rekordokat kapod meg, amik megfelelnek a táblák közötti tervezett kapcsolatnak.
De nem csak kapcsolat megadására jó a where, más feltételt is megadhatsz itt, aminek megfelelő rekordokat akarsz majd kapni az eredménytáblában.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!