SQL WHERE IN - uitgelegd met voorbeelden

SQL WHERE IN - uitgelegd met voorbeelden

Ben je het beu om gegevens in je database handmatig te filteren en ben je op zoek naar een efficiëntere manier om gegevens met meerdere waarden te filteren? SQL WHERE IN is misschien de oplossing die u nodig heeft!

Als u met SQL-databases werkt, bent u waarschijnlijk de WHERE IN-operator tegengekomen. Deze operator wordt gebruikt om meerdere waarden in een WHERE-clausule op te geven, zodat u uw gegevens nauwkeuriger kunt filteren.

Met deze operator kunt u een lijst met waarden opgeven die moeten worden vergeleken met een kolom in uw tabel. Deze lijst kan hardcoded zijn of worden gegenereerd door een subquery, waardoor u veel flexibiliteit krijgt bij het filteren van uw gegevens.

SQL WHERE IN - uitgelegd met voorbeelden

U kunt bijvoorbeeld de IN-operator gebruiken om alle klanten uit een specifieke lijst met steden te vinden of om resultaten te filteren op basis van een reeks product-ID's.

Een van de voordelen van het gebruik van de WHERE IN-operator is dat het uw zoekopdrachten efficiënter kan maken. Door een zoeklijst te gebruiken in plaats van meerdere OF-voorwaarden, kunt u de hoeveelheid verwerking verminderen die door de database moet worden uitgevoerd.

Dit kan vooral belangrijk zijn bij het werken met grote datasets of complexe query's, waarbij zelfs kleine optimalisaties een groot verschil kunnen maken in de prestaties.

Inhoudsopgave

Wat is SQL WHERE IN-clausule?

De SQL WHERE IN-clausule wordt gebruikt om gegevens te filteren op basis van een zoeklijst. Hiermee kunt u meerdere waarden specificeren in een WHERE-component met behulp van een afkorting voor meerdere OR-voorwaarden. De syntaxis voor de WHERE IN-clausule voor SQL Server , PostgreSQL, MYSQL en Oracle is als volgt:

SELECT column_name(s) 
FROM table_name 
WHERE column_name IN (value1, value2, ...); 

Als we de bovenstaande SELECT-instructie beschouwen, kunt u met de WHERE IN-component gegevens ophalen uit een tabel waarvan de opgegeven kolom overeenkomt met een van de waarden in de lijst. Het is een handige syntaxis voor het filteren van gegevens wanneer u een specifieke reeks waarden hebt om naar te zoeken.

Hoe werkt SQL WHERE IN-clausule?

De clausule werkt door de opgegeven kolom te vergelijken met elke waarde in de lijst. Als de kolom overeenkomt met een van de waarden in de lijst, wordt de rij opgenomen in de resultatenset.

Stel dat u een tabel met de naam "klanten" heeft die uit drie kolommen bestaat: "customer_id", "customer_name" en "country". U wilt alle klanten ophalen uit de VS, Canada en Mexico. De volgende query laat zien hoe de WHERE IN-component wordt gebruikt: SELECT customer_id, customer_name, country FROM klanten WHERE land IN ('USA','Canada','Mexico');

Voorbeelden van SQL WHERE IN-clausule

Als u resultaten wilt filteren op basis van een lijst met mogelijke waarden, kunt u de SQL WHERE IN-clausule gebruiken. Deze clausule biedt een gemakkelijke manier om rijen te selecteren waarin een bepaalde kolom overeenkomt met een reeks waarden.

Hier zijn vijf voorbeelden van hoe de clausule kan worden gebruikt:

  1. SQL WHERE IN-clausule gebruiken met een enkele waarde

Stel dat u alle rijen in een tabel wilt selecteren waarvan de statuskolom is ingesteld op 'gepubliceerd'. U kunt dit doen met behulp van de volgende SQL-instructie:

SELECT * 
FROM my_table 
WHERE status IN ('published');

Hiermee worden alle rijen geretourneerd waarin de statuskolom is ingesteld op 'gepubliceerd'.

  1. SQL gebruiken WHERE IN-clausule met meerdere waarden

Stel nu dat u alle rijen wilt selecteren waarvan de statuskolom is ingesteld op 'gepubliceerd' of 'concept'. U kunt de volgende SQL-instructie gebruiken:

SELECT * 
FROM my_table 
WHERE status IN ('published', 'draft');

Hiermee worden alle rijen geretourneerd waarvan de statuskolom is ingesteld op 'gepubliceerd' of 'concept'. U kunt ook zoveel waarden toevoegen als u wilt, gescheiden door komma's.

  1. SQL WHERE IN-clausule gebruiken met Delete-instructie

Stel dat u een tabel met de naam "klanten" hebt met de volgende gegevens:

SQL WHERE IN - uitgelegd met voorbeelden

Om rijen uit deze tabel te verwijderen op basis van meerdere waarden in de kolom "City", kan de SQL WHERE IN-clausule worden gebruikt met een DELETE-instructie, zoals weergegeven in de volgende query:

DELETE FROM customers
WHERE City IN ('New York', 'Chicago', 'Miami');

Deze instructie verwijdert alle rijen uit de tabel "klanten" waar de kolomnamen "Plaats" overeenkomen met een van de waarden in de lijst, bijvoorbeeld 'New York', 'Chicago', 'Miami'. In het bovenstaande voorbeeld worden de eerste, derde en vijfde rij uit de tabel verwijderd.

Merk op dat wanneer u de WHERE IN-clausule gebruikt met een DELETE-instructie, u heel voorzichtig moet zijn om fouten te voorkomen door ervoor te zorgen dat u de juiste gegevens verwijdert. Het is het beste om uw query op een kleine subset van gegevens te testen voordat u deze op uw volledige database uitvoert.

  1. De operator WHERE IN en SQL WHERE-component gebruiken om gegevens te filteren op basis van numerieke waarden

SELECT *
FROM customers
WHERE age IN (25, 30, 35)
AND city = 'London';

Deze query retourneert alle rijen uit de tabel "klanten", waarbij de kolom leeftijd de numerieke waarden 25, 30 of 35 bevat en de kolom stad de waarde "Londen".

Merk op dat de WHERE IN-operator een logische operator is waarmee u alleen meerdere waarden voor een enkele kolom kunt specificeren. De SELECT-instructie wordt gebruikt om gegevens uit een tabel op te halen en de WHERE-component wordt gebruikt om de gegevens te filteren op basis van specifieke voorwaarden.

In dit voorbeeld retourneert de query rijen uit de tabel "klanten" waarbij de kolom leeftijd overeenkomt met een van de opgegeven numerieke waarden en de kolom stad overeenkomt met de waarde "Londen". De kolomnamen die in deze query worden gebruikt, zijn "leeftijd" en "stad", en de tabel die wordt opgevraagd is "klanten".

  1. WHERE IN gebruiken met de SELECT-instructie en de IN-operator.

SELECT *
FROM orders
WHERE customer_id IN (
    SELECT customer_id
    FROM customers
    WHERE country = 'USA'
);

In dit voorbeeld gebruiken we een subquery om alle klant-ID's op te halen uit de tabel 'klanten', waar de landkolom de waarde 'VS' bevat. Vervolgens gebruiken we de WHERE IN-operator om de tabel "bestellingen" te filteren op basis van die klant-ID's.

Deze query retourneert alle rijen uit de ordertabel waarin de kolom customer_id overeenkomt met een van de klant-ID's die door de subquery worden geretourneerd.

Onthoud dat de WHERE IN-operator een vergelijkingsoperator is waarmee u een kolom kunt vergelijken met een zoeklijst. In dit geval vergelijken we de kolom customer_id met een lijst met klant-ID's die door de subquery worden geretourneerd.

Door deze operator en een subquery te gebruiken, kunt u gegevens filteren op basis van specifieke criteria en alleen de gegevens ophalen die aan uw behoeften voldoen.

2 Grote voordelen van het gebruik van SQL WHERE IN-clausule?

  1. Verbeterde queryprestaties

De clausule biedt een van de grootste voordelen op het gebied van queryprestaties. Bij het filteren van gegevens op basis van meerdere waarden kan het gebruik van de clausule veel efficiënter en sneller zijn dan het schrijven van meerdere WHERE-clausules met OR-operators. Dit komt omdat de database-engine het query-uitvoeringsplan kan optimaliseren om de benodigde gegevens efficiënt op te halen.

Kijk bijvoorbeeld eens naar de volgende SQL- query's met de tabel 'klanten', waarbij we proberen de klantgegevens te identificeren op basis van hun land.

SELECT CustomerID,CustomerName,phone,Email,CustomerCounter
FROM customers WHERE country='USA' 
			OR country='Canada' 
			OR country='Mexico' ;

SQL WHERE IN - uitgelegd met voorbeelden

 SELECT CustomerID,CustomerName,phone,Email,CustomerCounter
FROM customers 
WHERE country IN ('USA', 'Canada', 'Mexico'); 

SQL WHERE IN - uitgelegd met voorbeelden

Zoals te zien is in het bovenstaande voorbeeld, kan het gebruik van de clausule resulteren in een aanzienlijke verbetering van de queryprestaties en u meer tijd besparen. Het is gemakkelijker om alle landen tegelijk te selecteren in plaats van land na land te selecteren met behulp van de OR-operator in een veel grotere dataset.

  1. Vereenvoudigd Query Schrijven

Een ander groot voordeel van het gebruik van de SQ L WHERE IN-clausule is dat het het proces van het schrijven van complexe query's kan vereenvoudigen. Wanneer u gegevens moet filteren op basis van meerdere waarden, kan het gebruik van meerdere WHERE-clausules met OR-operatoren snel omslachtig en moeilijk te beheren worden.

Met behulp van de clausule kunt u alle waarden specificeren die u wilt filteren in een enkele instructie, waardoor uw query's gemakkelijker te lezen en te onderhouden zijn. Dit kan met name handig zijn bij het werken met grote datasets of wanneer u complexe query's met meerdere voorwaarden moet schrijven.

Beschouw bijvoorbeeld de volgende SQL-query:

SELECT *
FROM products 
WHERE category='Electronics' AND (brand='Apple' OR brand='Samsung' OR brand='Sony') 
SELECT *
FROM products 
WHERE category='Electronics' AND brand IN ('Apple', 'Samsung', 'Sony') 

In beide zoekopdrachten uit het bovenstaande voorbeeld retourneert de zoekopdracht alle "elektronica"-producten van Apple, Samsung en Sony.

Het gebruik van de WHERE IN-clausule zoals te zien in de laatste query, kan het proces van het gebruik van complexe query's vereenvoudigen en ze gemakkelijker leesbaar en begrijpelijk maken.

Bovendien helpt het ook om fouten te voorkomen en het minder tijdrovend te maken.

Ons laatste woord

Gefeliciteerd! U weet nu hoe u de SQL WHERE IN-component gebruikt om gegevens te filteren op basis van een zoeklijst. Laten we evalueren wat we hebben geleerd:

Door WHERE IN te gebruiken, kunt u een reeks SQL-query's vereenvoudigen en ze maken om een ​​efficiënter geschreven uitvoer op te halen.

Onthoud dat WHERE IN een afkorting is voor meerdere OR-voorwaarden, dus het kan lange lijsten met OR-statements vervangen. Bovendien kan de clausule worden gebruikt met subquery's, zodat u gegevens kunt filteren op basis van de resultaten van een andere query.

Wanneer u WHERE IN gebruikt, is het belangrijk om rekening te houden met de gegevenstypen van de waarden die u vergelijkt. Als de gegevenstypen niet overeenkomen, moet u mogelijk functies voor typeconversie gebruiken om een ​​nauwkeurige vergelijking te garanderen.

Over het algemeen is de SQL WHERE IN-clausule een krachtige maar eenvoudige syntaxis voor het filteren van gegevens in SQL-query's. Door deze clausule onder de knie te krijgen, kunt u de prestaties en leesbaarheid van uw SQL-code verbeteren, waardoor het op de lange termijn gemakkelijker wordt om mee te werken en te onderhouden.


Wat is zelf in Python: voorbeelden uit de echte wereld

Wat is zelf in Python: voorbeelden uit de echte wereld

Wat is zelf in Python: voorbeelden uit de echte wereld

Een RDS-bestand opslaan en laden in R

Een RDS-bestand opslaan en laden in R

Je leert hoe je objecten uit een .rds-bestand in R opslaat en laadt. In deze blog wordt ook besproken hoe je objecten uit R naar LuckyTemplates importeert.

First N Business Days Revisited – Een DAX-coderingstaaloplossing

First N Business Days Revisited – Een DAX-coderingstaaloplossing

In deze tutorial over DAX-coderingstaal leert u hoe u de functie GENERATE gebruikt en hoe u de titel van een maat dynamisch wijzigt.

Breng inzichten onder de aandacht met behulp van de Multi Threaded Dynamic Visuals-techniek in LuckyTemplates

Breng inzichten onder de aandacht met behulp van de Multi Threaded Dynamic Visuals-techniek in LuckyTemplates

Deze zelfstudie behandelt hoe u de Multi Threaded Dynamic Visuals-techniek kunt gebruiken om inzichten te creëren op basis van dynamische gegevensvisualisaties in uw rapporten.

Inleiding tot het filteren van context in LuckyTemplates

Inleiding tot het filteren van context in LuckyTemplates

In dit artikel zal ik de filtercontext doornemen. Filtercontext is een van de belangrijkste onderwerpen waarover elke LuckyTemplates-gebruiker in eerste instantie zou moeten leren.

Beste tips voor het gebruik van de apps in LuckyTemplates Online Service

Beste tips voor het gebruik van de apps in LuckyTemplates Online Service

Ik wil laten zien hoe de online service LuckyTemplates Apps kan helpen bij het beheren van verschillende rapporten en inzichten die uit verschillende bronnen zijn gegenereerd.

Analyseer winstmargeveranderingen in de loop van de tijd - analyse met LuckyTemplates en DAX

Analyseer winstmargeveranderingen in de loop van de tijd - analyse met LuckyTemplates en DAX

Leer hoe u wijzigingen in uw winstmarge kunt berekenen met behulp van technieken zoals vertakking van metingen en het combineren van DAX-formules in LuckyTemplates.

Materialisatie-ideeën voor gegevenscaches in DAX Studio

Materialisatie-ideeën voor gegevenscaches in DAX Studio

Deze tutorial bespreekt de ideeën van materialisatie van datacaches en hoe deze de prestaties van DAX beïnvloeden bij het leveren van resultaten.

Zakelijke rapportage met behulp van LuckyTemplates

Zakelijke rapportage met behulp van LuckyTemplates

Als u tot nu toe nog steeds Excel gebruikt, is dit het beste moment om LuckyTemplates te gaan gebruiken voor uw zakelijke rapportagebehoeften.

Wat is LuckyTemplates Gateway? Alles wat u moet weten

Wat is LuckyTemplates Gateway? Alles wat u moet weten

Wat is LuckyTemplates Gateway? Alles wat u moet weten