Inleiding tot WHERE-clausule

Zoals we allemaal weten, is SQL (Structured Query Language) een van de meest gebruikte talen voor relationele databases (database waarin records worden opgeslagen in de vorm van rijen en kolommen). In SQL worden query's afgevuurd om de database te raken om gewenste bewerkingen uit te voeren, of het nu DML (Data Manipulation Language), DDL (Data Definition Language) of DCL (Data Control Language) is. SQL gebruikt enkele clausules zoals WHERE, GROUP BY, HAVING, ORDER BY die specifieke bewerkingen uitvoeren. De WHERE-clausule wordt gebruikt om voorwaarden toe te passen en resultaten uit te filteren tijdens het ophalen of manipuleren van gegevens uit de database. Het wordt gebruikt met de SELECT-, UPDATE- en DELETE-instructie, ook de WHERE-clausule is optioneel om ermee te worden gebruikt.

In algemene termen, WHERE-clausule,

  • Gebruikt om de rijen te filteren volgens de gegeven criteria.
  • Beperkt het aantal geretourneerde rijen.
  • Gevolgd door een logische voorwaarde die waar of onwaar retourneert.
  • Werkt alleen als de genoemde voorwaarde als waar terugkeert.
  • Het kan worden gebruikt met SELECT-, UPDATE- of DELETE-instructies.

1. Syntaxis met SELECT

SELECT column1, column2, column3… from table_name WHERE condition;

Hier haalt SELECT alle gegevens van kolom1, kolom2, kolom3 uit de tabel op (genoemd als tabelnaam) en de WHERE-clausule past de voorwaarden toe op de gegevens die door de SELECT-instructie worden opgehaald en filtert die volgens de voorwaarde die in de instructie wordt genoemd.

2. Syntaxis met UPDATE

UPDATE table_name SET column_name = value WHERE condition;

Hier werkt Update de waarde voor de kolomnaam bij met de voorwaarde voorwaarde.

Vergelijking en logische operatoren kunnen ook worden gebruikt met de WHERE-voorwaarde zoals en, of, niet, LIKE, <, =, etc.

3. Syntaxis met VERWIJDEREN

DELETE from table_name WHERE condition;

In de bovenstaande syntaxis:

tafel naamNaam van de tabel waarop bewerkingen moeten worden uitgevoerd.
staatSpecificeert de filtervoorwaarde waarop records moeten worden gefilterd
column_listNaam van de kolommen van de tabel

Voorbeelden

Overweeg een studententabel met verschillende hieronder vermelde kolommen en waarden:

Stu_idStu_nameStu_addressStu_phnoStu_percentage
1RahulAgra955780662585
2AnkitDelhi885566447175
3ShailendraNoida721345789692

Scenario 1

Haal student-ID, studentnaam, adres en percentage op van al die studenten die meer dan 80 procent scoorden.

vraag

SELECT Stu_id, Stu_name, Stu_address from students WHERE Stu_percentage > 80;

Resultaat:

Aantal records: 2

Stu_idStu_nameStu_addressStu_percentage
1RahulAgra85
3ShailendraNoida92

Scenario # 2

Werk het percentage Rahul met 2 procent bij.

vraag

UPDATE students SET Stu_percentage = Stu_percentage+2 WHERE Stu_name ='Rahul';

Resultaat:

Getroffen rijen: 1

Als we op de query klikken om de bijgewerkte velden te bekijken:

vraag

SELECT * from students WHERE Stu_name ='Rahul';

Resultaat:

Aantal records: 1

Stu_idStu_nameStu_addressStu_percentage
1RahulAgra87

Scenario # 3

Student Ankit heeft de school verlaten, dus verwijder het hele record van hem van de tafel.

vraag

DELETE from students WHERE Stu_name = 'Ankit';

Resultaat:

Getroffen rijen: 1

De bijgewerkte tabelstudent bekijken:

vraag

SELECT * from students;

Resultaat:

Getroffen rijen: 2

Stu_idStu_nameStu_addressStu_phnoStu_percenta ge
1RahulAgra955780662587
3ShailendraNoida721345789692

WAAR clausule Operations

De clausule WHERE bevat de voorwaarden waaronder databasewaarden worden gefilterd. Verschillende operatoren kunnen worden gebruikt met de WHERE-component. Sommigen van hen worden hieronder in de tabel met een voorbeeld gegeven:

S.No.operatorBeschrijvingVoorbeeld
1.ENRetourneert true als beide voorwaarden overeenkomenSELECT * van studenten WAAR Stu_name = 'Rahul' en Stu_percentage = 85;
2.OFRetourneert true als een van de

staat overeenkomt

SELECT * van studenten WHERE Stu_name = 'Rahul' of Stu_name = 'Shalendra';
3.INDe waarde komt overeen met een van de meerdere opgegeven waardenSELECT * van studenten WHERE Stu_city IN ('AGRA', 'NOIDA');
4.NIET INDe waarde komt niet overeen met een van de meerdere opgegeven waardenSELECT * van studenten WHERE Stu_city NOT IN ('AGRA', 'NOIDA');
5.=GelijkSELECT * van studenten WAAR

Stu_name = 'Rahul';

6.>Groter danSELECT * van studenten WAAR Stu_percentage> 80;
7.<Minder danSELECT * van studenten WAAR Stu_percentage <78;
8.> =Groter dan of gelijk aanSELECT * van studenten WAAR Stu_percenetage> = 70;
9.<=Minder dan of gelijk aanSELECT * van studenten WHERE Stu_percenetage <= 70;
10.Niet gelijk aanSELECT * van studenten WAAR Stu_percentage 75;
11.TUSSENDe waarde ligt tussen een bepaald bereikSELECT * van studenten WAAR

Stu_percentage TUSSEN 70 EN 85;

12.LEUK VINDENWaarden komen overeen met een bepaald patroon. Wordt gebruikt om wildcard-zoekopdrachten uit te voerenSELECT * van studenten WAAR Stu_city LIKE 'AG%';

Opmerking: Er is één ding dat in gedachten moet worden gehouden tijdens het werken met de WHERE-clausule is dat bij het opgeven van de voorwaarde, Numerieke waarden niet tussen enkele aanhalingstekens ('') staan, terwijl tekstwaarden (varchar) in enkele citaten (' ').

Hoe werkt de WHERE-clausule in SQL?

Hoewel de bovenstaande voorbeelden duidelijk laten zien hoe de clausule WHERE wordt gebruikt om de gegevens te filteren op basis van de door de gebruiker opgegeven voorwaarde en de snellere uitvoering van SQL-code mogelijk maakt, omdat het aantal geretourneerde records wordt beperkt door de voorwaarde. SQL Query Optimizer werkt eerst op de query met behulp van FROM (tabel waarop de bewerking moet worden uitgevoerd) om de clausule WHERE op te halen, te verwijderen of bij te werken.

De WHERE-component kan alleen worden gebruikt wanneer we de resultaten in een enkele tabel of een samenvoeging van tabellen moeten filteren, omdat deze werkt op rijgegevens, maar wanneer in het geval van de aggregatiefuncties, WHERE niet kan worden gebruikt om voorwaarden op de query toe te passen.

Laten we het scenario bekijken waarin de WHERE-component niet kan worden gebruikt:

Scenario: haal in een 'films'-tabel alle details op van films die meer dan 10 crores verdienen in bepaalde jaren zoals (2000, 2010, 2012..etc)

Query:

SELECT * from movies GROUP BY Year_released HAVING earnings > 10;

In het bovenstaande voorbeeld wordt de clausule HAVING gebruikt in plaats van WHERE, omdat de clausule WHERE niet kan worden gebruikt in de geaggregeerde functies, terwijl HAVING wel kan, en dit is ook een van de belangrijkste verschillen tussen de clausule WHERE en HAVING

Conclusie - SQL WHERE-clausule

De bovenstaande uitleg toont duidelijk het gebruik van de WHERE-clausule en de implementatie ervan voor verschillende scenario's in SQL-query's. Voordat u een query schrijft, moet u rekening houden met het gebruik van elke clausule en het scenario waarin die specifieke clausule of dat trefwoord moet worden gebruikt.

Aanbevolen artikelen

Dit is een gids voor SQL WHERE-clausule. Hier bespreken we het gebruik van de WHERE-clausule en de implementatie ervan voor verschillende scenario's. U kunt ook onze andere voorgestelde artikelen doornemen -

  1. Typen joins in SQL
  2. Jokertekens in MySQL
  3. Query invoegen
  4. Buitenlandse sleutel in SQL
  5. Top 6 soorten joins in MySQL met voorbeelden