konto usunięte

Temat: złączenie tabel i pobranie wartości - MYSQL

Witam
Wiecie może jak pobrać dane z jednej tabli oprócz tych które są takie same w drugiej?

np.
tabela hurtownia posiada idtowar i nazwa,
tabela koszyk posiada też idtowar i nazwa,

teraz jak pobrać dane z tabeli hurtowania oprócz tych które są o tym samym idtowar w koszyku.
Grzegorz D.

Grzegorz D. PL/SQL Developer

Temat: złączenie tabel i pobranie wartości - MYSQL


select *
from hurtownia h
where not exists (select 1
from koszyk k
where k.idtowar = h.idtowar)
Grzegorz Drzymała edytował(a) ten post dnia 07.06.11 o godzinie 19:24
Michał Jarosz

Michał Jarosz Frontend Developer &
Team Leader

Temat: złączenie tabel i pobranie wartości - MYSQL

Dla MySQL to może być łatwiejsze do przełknięcia


SELECT
h.*
FROM
hurtownia AS h
LEFT JOIN
koszyk AS k
USING (idtowar)
WHERE
k.idtowar IS NULL

konto usunięte

Temat: złączenie tabel i pobranie wartości - MYSQL

Dzięki wielkie za pomoc
Pozdrawiam.

konto usunięte

Temat: złączenie tabel i pobranie wartości - MYSQL

Michał Jarosz:
Dla MySQL to może być łatwiejsze do przełknięcia


SELECT
h.*
FROM
hurtownia AS h
LEFT JOIN
koszyk AS k
USING (idtowar)
WHERE
k.idtowar IS NULL
Using wychodzi bokiem jak przesiądziesz się na inny RDBMS ;-)
Michał Jarosz

Michał Jarosz Frontend Developer &
Team Leader

Temat: złączenie tabel i pobranie wartości - MYSQL

To zamień na ON. Ważniejsze tutaj akurat uniknięcie NOT EXISTS IN (SELECT...) z dependent subquery.
Aleksander Olszewski

Aleksander Olszewski Kierownik Projektów
IT, PRINCE2
Practitioner

Temat: złączenie tabel i pobranie wartości - MYSQL

Michał Jarosz:
To zamień na ON. Ważniejsze tutaj akurat uniknięcie NOT EXISTS IN (SELECT...) z dependent subquery.

Całkowicie zgadzam się z przedmówcą :) Zapytania z podzapytaniami są bardzo niewydajne. Lepiej w takich przypadkach, jeśli się da, użyć jednak złączenia.
Szymon P.

Szymon P. Databricks, Azure
Data Factory, MS SQL
SERVER

Temat: złączenie tabel i pobranie wartości - MYSQL

Michał Jarosz:
To zamień na ON. Ważniejsze tutaj akurat uniknięcie NOT EXISTS IN (SELECT...) z dependent subquery.


Tak jest, join w większości przypadków jest wydajniejszy niż exists. A using ? OMG - mnie się to kojarzy z C# a tu taki kwiatek w mysql też się przewija ;)Szymon P. edytował(a) ten post dnia 13.06.11 o godzinie 13:03
Michał Jarosz

Michał Jarosz Frontend Developer &
Team Leader

Temat: złączenie tabel i pobranie wartości - MYSQL

Ten kwiatek jest zgodny z ANSI/ISO SQL:1992 więc co najwyżej do tych "innych RDBMS" należ mieć pretensję, że standardu w pełni nie implementują :P

Następna dyskusja:

[mySQL] Trigger kopiujacy d...




Wyślij zaproszenie do