Hieronder de situatie waarin je met een MYSQL commando gegevens uit een tabel wilt hebben waarvan.
Het tweede voorbeeld geeft een goede indruk van de werking van innerjoin.
Als je mysql wilt gebruiken om in wordpress alle admingebruikers weer te geven kan dit met de volgende tekst:
Selecteer alle admin users
select ID, user_login, user_email FROM wp_users WHERE ID IN (SELECT user_id FROM wp_usermeta WHERE meta_key="wp_user_level" AND meta_value="10")
Geef de id, login en email weer
uit de wp_userstabel
waar de id voorkomt
in wp_usermeta tabel
waar in de regel meta_key ‘wp_user_level’ is en
de meta_value kolom een waarde 10 heeft.
Innerjoin – combineer twee tabellen
SELECT u.ID, u.user_login, u.user_email, m.meta_key, m.meta_value FROM wp_users AS u INNER JOIN wp_usermeta AS m ON u.ID = m.user_id AND m.meta_key = "wp_user_level" AND m.meta_value="10";
Geef de id, login, email, meta_key en meta_value weer
uit de wp_users benoemd als u
in een kruisvergelijking met wp_usermeta benoemd als m
in wp_usermeta tabel
waar in de regel meta_key ‘wp_user_level’ is en
de ids overeenkomen en de metakey is wp_user_level en de waarde 10 heeft
Nog meer tabellen
SELECT p.ID, p.post_excerpt, p.post_status, pm.meta_value, oi.order_item_name FROM wpsz_posts AS p INNER JOIN wpsz_postmeta AS pm ON p.ID = pm.post_id INNER JOIN wpsz_woocommerce_order_items AS oi ON p.ID = oi.order_id where p.post_type = 'shop_order' AND oi.order_item_name LIKE '%isoniazide%' AND pm.meta_key = '_shipping_country' AND pm.meta_value = 'NL'
Copy en paste werken helaas niet met bovenstaande codes:
Reden de aanhalingstekens (“) worden niet goed overgenomen.
Het is alleen de laatste regel dus copy en paste kan wel maar vervang de ” door ” en ? door ” in de laatste regel.