Kezdőoldal » Számítástechnika » Programozás » Ezt az sql lekérdezést, hogy...

Ezt az sql lekérdezést, hogy kell megírni?

Figyelt kérdés

Pl.

Van egy 'users' tábla amikbe a felhasználók vannak és van egy 'orders' tábla amibe pedig a felhasználók rendelései vannak.

Az 'orders' táblába van egy 'userid' oszlop ami a felhasználó id-jét tárolja aki leadta a rendelést.

Így kérdezem le, hogy kik rendeltek eddig

SELECT users.name FROM users

INNER JOIN orders ON orders.userid = users.id;

és az érdekelne, hogy ennek az ellentétét, hogy lehet lekérdezni akik eddig még nem rendeltek és nem szerepelnek egyáltalán az 'orders' táblában.



2019. jún. 30. 16:18
 1/6 A kérdező kommentje:

Időközben megtaláltam a megoldást.

SELECT users.name FROM users

LEFT JOIN orders ON orders.userid = users.id

WHERE orders.userid IS NULL;

2019. jún. 30. 16:40
 2/6 2*Sü ***** válasza:

Alternatív megoldás:


SELECT users.name FROM users

WHERE NOT users.id IN SELECT orders.userid FROM orders;

2019. jún. 30. 18:25
Hasznos számodra ez a válasz?
 3/6 anonim ***** válasza:
100%

Utolsóét javítva*:


SELECT users.name FROM users


WHERE users.id NOT IN SELECT orders.userid FROM orders;

2019. jún. 30. 18:51
Hasznos számodra ez a válasz?
 4/6 anonim ***** válasza:
65%

Amit akarsz az pl megoldható így:


SELECT name FROM users

WHERE name NOT IN

(

SELECT DISTINCT userid FROM orders

)

2019. jún. 30. 19:28
Hasznos számodra ez a válasz?
 5/6 anonim ***** válasza:
Az intersect-tel külünbség képzéssel nem lehet ezt megoldani?
2019. júl. 1. 15:50
Hasznos számodra ez a válasz?
 6/6 anonim ***** válasza:
2-es, 3-as, 4-es egy nagyobb adatbázison futtatva nem túl optimális. Az 1-es a jó megoldás
2021. aug. 27. 16:03
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!