Dino Geek, probeer je te helpen

Hoe subquery's in MariaDB te gebruiken?


Een subquery in MariaDB is een innerlijke query die u in staat stelt een query uit te voeren binnen een andere query. Subquery’s kunnen worden gebruikt in SELECT-, INSERT-, UPDATE- en DELETE-statements. Hier zijn enkele voorbeelden van hoe u subquery’s in MariaDB zou kunnen gebruiken:

1. Subquery in een SELECT instructie:

Voorbeeld:
```
SELECT klantnaam
FROM klanten
WHERE ‘klantID’ IN (SELECT klantID FROM bestellingen WHERE totaalkosten > 100);
```
In bovenstaand voorbeeld wordt eerst de subquery uitgevoerd. Deze retourneert alle klantID’s waar de totale kosten groter zijn dan 100. Vervolgens wordt de hoofdquery uitgevoerd om alle klantnamen te krijgen waarvan de klantID’s overeenkomen met de ID’s die door de subquery worden geretourneerd.

1. Subquery in een INSERT instructie:

Voorbeeld:
```
INSERT INTO besteld_producten(klantID, productNaam, besteldDatum)
SELECT klantID, productNaam, NOW
FROM klanten
WHERE klantID NOT IN (SELECT klantID FROM besteld_producten WHERE besteldDatum = CURDATE);
```
In het bovenstaande voorbeeld wordt eerst de subquery uitgevoerd die de klantID’s retourneert die al bestellingen hebben gedaan op de huidige datum. Vervolgens wordt de hoofdquery uitgevoerd om nieuwe bestelde artikelen in te voegen voor klanten die nog geen bestellingen hebben geplaatst op de huidige datum.

1. Subquery in een UPDATE instructie:

Voorbeeld:
```
UPDATE producten
SET prijs = (SELECT prijs FROM leverancierprijzen WHERE leverancierprijzen.productID = producten.productID)
WHERE EXISTS (SELECT 1 FROM leverancierprijzen WHERE leverancierprijzen.productID = producten.productID);
```
In het bovenstaande voorbeeld wordt de subquery eerst uitgevoerd om de prijs van het product van de leveranciersprijs te halen. De hoofdquery wordt vervolgens uitgevoerd om de productprijs bij te werken als er een overeenkomende productID tussen de producten en de leveranciersprijs is.

1. Subquery in een DELETE instructie:

Voorbeeld:
```
DELETE FROM klanten
WHERE klantID NOT IN (SELECT klantID FROM bestellingen);
```
In het bovenstaande voorbeeld wordt de subquery eerst uitgevoerd die de klantID’s retourneert die bestellingen hebben geplaatst. De hoofdquery wordt vervolgens uitgevoerd om klantrecords te verwijderen die geen overeenkomende klantID’s in de bestellingen hebben.


Genereer eenvoudig artikelen om uw SEO te optimaliseren
Genereer eenvoudig artikelen om uw SEO te optimaliseren





DinoGeek biedt eenvoudige artikelen over complexe technologieën

Wilt u in dit artikel worden geciteerd? Het is heel eenvoudig, neem contact met ons op via dino@eiki.fr

CSS | NodeJS | DNS | DMARC | MAPI | NNTP | htaccess | PHP | HTTPS | Drupal | WEB3 | LLM | Wordpress | TLD | Domeinnaam | IMAP | TCP | NFT | MariaDB | FTP | Zigbee | NMAP | SNMP | SEO | E-Mail | LXC | HTTP | MangoDB | SFTP | RAG | SSH | HTML | ChatGPT API | OSPF | JavaScript | Docker | OpenVZ | ChatGPT | VPS | ZIMBRA | SPF | UDP | Joomla | IPV6 | BGP | Django | Reactjs | DKIM | VMWare | RSYNC | Python | TFTP | Webdav | FAAS | Apache | IPV4 | LDAP | POP3 | SMTP

| Whispers of love (API) | Déclaration d'Amour |






Juridische Vermelding / Algemene Gebruiksvoorwaarden