samo združevanje, self join
Vadnica logo
vadnica logo
x
HTML CSS JavaScript jQuery SQL PHP Laravel
HTML CSS JavaScript jQuery MySQL PHPStorm Database

MySQL SQL

SELECT DISTINCT WHERE AND OR NOT ORDER BY INSERT INTO NULL UPDATE DELETE LIMIT MAX MIN COUNT AVG SUM LIKE WILDCARDS IN BETWEEN AS INNER JOIN LEFT JOIN RIGHT JOIN CROSS JOIN SELF JOIN UNION GROUP BY HAVING EXISTS ANY ALL INSERT SELECT CASE IF NULL COALESCE Operaterji

MySQL Database

CREATE DATABASE DROP DATABASE CREATE TABLE DROP TABLE ALTER TABLE CONSTRAINTS NOT NULL UNIQUE PRIMARY KEY FOREIGN KEY CHECK DEFAULT CREATE INDEX AUTO-INCREMENT DATE CREATE VIEW FUNKCIJE DATA TYPE Združevalne funkcije XAMPP PHP Laravel

SELF JOIN (slo. Samo združevanje)

Klavzula JOIN se uporablja za združevanje vrstic iz dveh ali več tabel, na podlagi povezanega stolpca med njimi. Samo združevanje (ang. Self join) je običajno združevanje, vendar je tabela združena sama s seboj. Za primer bomo uporabili tabelo podvojena_tabela.

id_tabele ime priimek mesto drzava datum
1 Borut Bukovnik Kranj Slovenija 2024-06-07 08:23:36
2 Janez Peternel Ptuj Slovenija 2024-06-07 08:23:36
3 Janez Kranjski Kranj Slovenija 2024-06-07 08:23:36
4 Borut Bukovnik Kranj Slovenija 2024-06-07 08:23:36
5 Helga Rumpelkamra Graz Austrija 2024-06-07 08:23:36
6 Corina Lidel Berlin Nemčija 2024-06-07 08:23:36
7 Borut Kladivo Brežice Slovenija 2024-06-07 08:23:36
8 Sandra Belgie Bruselj Belgija 2024-06-07 08:23:36
9 Irena Hoja Šiška Slovenija 2024-06-07 08:23:36
10 Nina Armbrust Jesenice Slovenija 2024-06-07 08:23:36

Naslednji SQL stavek se ujema z vsemi imeni, ki so iz iste države. Rezultat se ujema z vsako osebo v tabeli. Pomeni, da bo vsaka oseba v paru še s tremi osebami in ker imamo v tabeli podvojena imena in države, se osebe seznanjene same s seboj.

SELECT A.ime AS ime1, B.ime AS ime2, A.drzava
FROM podvojena_tabela A, podvojena_tabela B
WHERE A.id_tabele <> B.id_tabele
AND A.drzava = B.drzava
ORDER BY A.ime;
    
Samozdruževanje (ang. Self join)
Samozdruževanje (ang. Self join)
PRIMER
SELECT A.ime AS ime1, B.ime AS ime2, A.drzava
FROM podvojena_tabela A, podvojena_tabela B
WHERE A.id_tabele <> B.id_tabele
AND A.drzava = B.drzava
ORDER BY A.ime;
            
REZULTAT
ime1 ime2 drzava
1 Borut Borut Slovenija
2 Borut Nina Slovenija
3 Borut Janez Slovenija
4 Borut Janez Slovenija
5 Borut Nina Slovenija
6 Borut Irena Slovenija
7 Borut Janez Slovenija
8 Borut Irena Slovenija
9 Borut Janez Slovenija
10 Borut Borut Slovenija
11 Borut Irena Slovenija
12 Borut Borut Slovenija
13 Borut Janez Slovenija
14 Borut Borut Slovenija
15 Borut Borut Slovenija
16 Borut Borut Slovenija
17 Borut Janez Slovenija
18 Borut Nina Slovenija
19 Irena Borut Slovenija
20 Irena Borut Slovenija
21 Irena Janez Slovenija
22 Irena Nina Slovenija
23 Irena Janez Slovenija
24 Irena Borut Slovenija
25 Janez Borut Slovenija
26 Janez Borut Slovenija
27 Janez Borut Slovenija
28 Janez Borut Slovenija
29 Janez Nina Slovenija
30 Janez Borut Slovenija
31 Janez Janez Slovenija
32 Janez Nina Slovenija
33 Janez Irena Slovenija
34 Janez Janez Slovenija
35 Janez Borut Slovenija
36 Janez Irena Slovenija
37 Nina Janez Slovenija
38 Nina Borut Slovenija
39 Nina Borut Slovenija
40 Nina Borut Slovenija
41 Nina Janez Slovenija
42 Nina Irena Slovenija

Hvala za obisk! Dodajam politiko zasebnosti.

© 2024 Vse pravice pridržane.

Donirajte preko PayPal ADMIN