CONTENT
  • CHANGES
Szukaj
counter

#top Przydatne informacje


#top Timeout


Zobacz także Timeout dla: Apache | Nginx | Lighttpd | thttpd | HAProxy | Varnish | SQUID
Zobacz także Timeout dla: ProFTPd | Pure-FTPd | vsftpd | Dovecot | Postfix | OpenLDAP
Zobacz także Timeout dla: pgpool | PostgreSQL | MySQL | Firebird | SQLite | MsSQL | Oracle | DB2 | Informix | Sybase

(Zobacz sekcję Timeout)



#top Database Storage Layout


Zobacz także Database Storage Layout dla: PostgreSQL | MySQL | Firebird | SQLite | MsSQL | Oracle | DB2 | Informix | Sybase



#top Tablespace


Zobacz także Tablespace dla: PostgreSQL | MySQL | Firebird | SQLite | MsSQL | Oracle | DB2 | Informix | Sybase

Definicja:

Dokumentacja Oracle:

Dokumentacja Oracle: Zapytania SQL:
Zapytania SQL: Składnia SQL: CREATE TABLESPACE | ALTER TABLESPACE | DROP TABLESPACE



#top SQL JOIN Visual Explanation


Zobacz także SQL JOIN Visual Explanation dla: PostgreSQL | MySQL | Firebird | SQLite | MsSQL | Oracle | DB2 | Informix | Sybase

Dokumentacja Oracle: SELECT - join_clause

SQL JOIN jak sama nazwa wskazuje jest to zapytanie łączące, a dokładniej zapytanie pobierające dane z więcej niż jednej tabeli łączące wybierane wiersze po wspólnej kolumnie.
Dostępnych jest wiele możliwości łączenia tabel zaleźnych od dopasowania wierszy. Wyróżnić można następujące typy łączenia tabel:
  • [INNER] JOIN - słowo kluczowe INNER jest opcjonalne, złączenia JOIN i INNER JOIN są równoważne,
  • LEFT [OUTER] JOIN - słowo kluczowe OUTER jest opcjonalne, złączenia LEFT JOIN i LET OUTER JOIN są równoważne,
  • RIGHT [OUTER] JOIN - słowo kluczowe OUTER jest opcjonalne, złączenia RIGHT JOIN i RIGHT OUTER JOIN są równoważne,
  • FULL [OUTER] JOIN - słowo kluczowe OUTER jest opcjonalne, złączenia FULL JOIN i FULL OUTER JOIN są równoważne,
  • CROSS JOIN

-- utworzenie tabel
CREATE TABLE join01 (
idjoin number(9) NOT NULL,
name varchar(255) NOT NULL,
PRIMARY KEY(idjoin)
)

CREATE TABLE join02 (
idjoin number(9) NOT NULL,
name varchar(255) NOT NULL,
PRIMARY KEY(idjoin)
)

-- dodanie przykładowych danych
INSERT INTO join01(idjoin,name) VALUES(1,'t01name01')
INSERT INTO join01(idjoin,name) VALUES(2,'t01name02')
INSERT INTO join01(idjoin,name) VALUES(3,'t01name03')
INSERT INTO join01(idjoin,name) VALUES(4,'t01name04')
INSERT INTO join01(idjoin,name) VALUES(5,'t01name05')

INSERT INTO join02(idjoin,name) VALUES(3,'t02name03')
INSERT INTO join02(idjoin,name) VALUES(4,'t02name04')
INSERT INTO join02(idjoin,name) VALUES(5,'t02name05')
INSERT INTO join02(idjoin,name) VALUES(6,'t02name06')
INSERT INTO join02(idjoin,name) VALUES(7,'t02name07')



#top SQL JOIN INNER JOIN


Zobacz także SQL JOIN INNER JOIN dla: PostgreSQL | MySQL | Firebird | SQLite | MsSQL | Oracle | DB2 | Informix | Sybase



Przykład bez słowa kluczowego INNER oraz ze słowem kluczowym INNER
SELECT * FROM join01 JOIN join02 ON (join01.idjoin=join02.idjoin)
SELECT * FROM join01 INNER JOIN join02 ON (join01.idjoin=join02.idjoin)
Po wykonaniu powyższego zapytania otrzymany rezultat powinien być analogiczny do poniższego:
|IDJOIN|NAME     |IDJOIN|NAME     |
+------+---------+------+---------+
|3     |t01name03|3     |t02name03|
|4     |t01name04|4     |t02name04|
|5     |t01name05|5     |t02name05|
Retrieved 3 rows in 0.010 seconds.



#top SQL JOIN LEFT JOIN


Zobacz także SQL JOIN LEFT JOIN dla: PostgreSQL | MySQL | Firebird | SQLite | MsSQL | Oracle | DB2 | Informix | Sybase



Przykład bez słowa kluczowego OUTER oraz ze słowem kluczowym OUTER
SELECT * FROM join01 LEFT JOIN join02 ON (join01.idjoin=join02.idjoin)
SELECT * FROM join01 LEFT OUTER JOIN join02 ON (join01.idjoin=join02.idjoin)
Po wykonaniu powyższego zapytania otrzymany rezultat powinien być analogiczny do poniższego:
|IDJOIN|NAME     |IDJOIN|NAME     |
+------+---------+------+---------+
|3     |t01name03|3     |t02name03|
|4     |t01name04|4     |t02name04|
|5     |t01name05|5     |t02name05|
|1     |t01name01|NULL  |NULL     |
|2     |t01name02|NULL  |NULL     |
Retrieved 5 rows in 0.007 seconds.



#top SQL JOIN RIGHT JOIN


Zobacz także SQL JOIN RIGHT JOIN dla: PostgreSQL | MySQL | Firebird | SQLite | MsSQL | Oracle | DB2 | Informix | Sybase



Przykład bez słowa kluczowego OUTER oraz ze słowem kluczowym OUTER
SELECT * FROM join01 RIGHT JOIN join02 ON (join01.idjoin=join02.idjoin)
SELECT * FROM join01 RIGHT OUTER JOIN join02 ON (join01.idjoin=join02.idjoin)
Po wykonaniu powyższego zapytania otrzymany rezultat powinien być analogiczny do poniższego:
|IDJOIN|NAME     |IDJOIN|NAME     |
+------+---------+------+---------+
|3     |t01name03|3     |t02name03|
|4     |t01name04|4     |t02name04|
|5     |t01name05|5     |t02name05|
|NULL  |NULL     |6     |t02name06|
|NULL  |NULL     |7     |t02name07|
Retrieved 5 rows in 0.006 seconds.



#top SQL JOIN FULL JOIN


Zobacz także SQL JOIN FULL JOIN dla: PostgreSQL | MySQL | Firebird | SQLite | MsSQL | Oracle | DB2 | Informix | Sybase



Przykład bez słowa kluczowego OUTER oraz ze słowem kluczowym OUTER
SELECT * FROM join01 FULL JOIN join02 ON (join01.idjoin=join02.idjoin)
SELECT * FROM join01 FULL OUTER JOIN join02 ON (join01.idjoin=join02.idjoin)
Po wykonaniu powyższego zapytania otrzymany rezultat powinien być analogiczny do poniższego:
|IDJOIN|NAME     |IDJOIN|NAME     |
+------+---------+------+---------+
|3     |t01name03|3     |t02name03|
|4     |t01name04|4     |t02name04|
|5     |t01name05|5     |t02name05|
|NULL  |NULL     |6     |t02name06|
|NULL  |NULL     |7     |t02name07|
|1     |t01name01|NULL  |NULL     |
|2     |t01name02|NULL  |NULL     |
Retrieved 7 rows in 0.006 seconds.



#top SQL JOIN LEFT JOIN IS NULL


Zobacz także SQL JOIN LEFT JOIN IS NULL dla: PostgreSQL | MySQL | Firebird | SQLite | MsSQL | Oracle | DB2 | Informix | Sybase



Przykład bez słowa kluczowego OUTER oraz ze słowem kluczowym OUTER
SELECT * FROM join01 LEFT JOIN join02 ON (join01.idjoin=join02.idjoin) WHERE join02.idjoin IS NULL
SELECT * FROM join01 LEFT OUTER JOIN join02 ON (join01.idjoin=join02.idjoin) WHERE join02.idjoin IS NULL
Po wykonaniu powyższego zapytania otrzymany rezultat powinien być analogiczny do poniższego:
|IDJOIN|NAME     |
+------+---------+
|1     |t01name01|
|2     |t01name02|
Retrieved 2 rows in 0.224 seconds.



#top SQL JOIN RIGHT JOIN IS NULL


Zobacz także SQL JOIN RIGHT JOIN IS NULL dla: PostgreSQL | MySQL | Firebird | SQLite | MsSQL | Oracle | DB2 | Informix | Sybase



Przykład bez słowa kluczowego OUTER oraz ze słowem kluczowym OUTER
SELECT * FROM join01 RIGHT JOIN join02 ON (join01.idjoin=join02.idjoin) WHERE join01.idjoin IS NULL
SELECT * FROM join01 RIGHT OUTER JOIN join02 ON (join01.idjoin=join02.idjoin) WHERE join01.idjoin IS NULL
Po wykonaniu powyższego zapytania otrzymany rezultat powinien być analogiczny do poniższego:
|IDJOIN|NAME     |
+------+---------+
|6     |t02name06|
|7     |t02name07|
Retrieved 2 rows in 0.006 seconds.



#top SQL JOIN FULL JOIN IS NULL


Zobacz także SQL JOIN FULL JOIN IS NULL dla: PostgreSQL | MySQL | Firebird | SQLite | MsSQL | Oracle | DB2 | Informix | Sybase



Przykład bez słowa kluczowego OUTER oraz ze słowem kluczowym OUTER
SELECT * FROM join01 FULL JOIN join02 ON (join01.idjoin=join02.idjoin) WHERE join01.idjoin IS NULL OR join02.idjoin IS NULL
SELECT * FROM join01 FULL OUTER JOIN join02 ON (join01.idjoin=join02.idjoin) WHERE join01.idjoin IS NULL OR join02.idjoin IS NULL
Po wykonaniu powyższego zapytania otrzymany rezultat powinien być analogiczny do poniższego:
|IDJOIN|NAME     |IDJOIN|NAME     |
+------+---------+------+---------+
|6     |t02name06|NULL  |NULL     |
|7     |t02name07|NULL  |NULL     |
|NULL  |NULL     |1     |t01name01|
|NULL  |NULL     |2     |t01name02|
Retrieved 4 rows in 0.007 seconds.



#top SQL JOIN CROSS JOIN


Zobacz także SQL JOIN CROSS JOIN dla: PostgreSQL | MySQL | Firebird | SQLite | MsSQL | Oracle | DB2 | Informix | Sybase

SELECT * FROM join01 CROSS JOIN join02
Po wykonaniu powyższego zapytania otrzymany rezultat powinien być analogiczny do poniższego:
|IDJOIN|NAME     |IDJOIN|NAME     |
+------+---------+------+---------+
|1     |t01name01|3     |t02name03|
|1     |t01name01|4     |t02name04|
|1     |t01name01|5     |t02name05|
|1     |t01name01|6     |t02name06|
|1     |t01name01|7     |t02name07|
|2     |t01name02|3     |t02name03|
|2     |t01name02|4     |t02name04|
|2     |t01name02|5     |t02name05|
|2     |t01name02|6     |t02name06|
|2     |t01name02|7     |t02name07|
|3     |t01name03|3     |t02name03|
|3     |t01name03|4     |t02name04|
|3     |t01name03|5     |t02name05|
|3     |t01name03|6     |t02name06|
|3     |t01name03|7     |t02name07|
|4     |t01name04|3     |t02name03|
|4     |t01name04|4     |t02name04|
|4     |t01name04|5     |t02name05|
|4     |t01name04|6     |t02name06|
|4     |t01name04|7     |t02name07|
|5     |t01name05|3     |t02name03|
|5     |t01name05|4     |t02name04|
|5     |t01name05|5     |t02name05|
|5     |t01name05|6     |t02name06|
|5     |t01name05|7     |t02name07|
Retrieved 25 rows in 0.005 seconds.



#top Database Objects Size


Zobacz także Database Objects Size dla: PostgreSQL | MySQL | Firebird | SQLite | MsSQL | Oracle | DB2 | Informix | Sybase



#top Find Multiple Indexes


Zobacz także Find Multiple Indexes dla: PostgreSQL | MySQL | Firebird | SQLite | MsSQL | Oracle | DB2 | Informix | Sybase

Więcej informacji w analogicznym zagadnieniu: Find Duplicate Indexes



#top Find Duplicate Indexes


Zobacz także Find Duplicate Indexes dla: PostgreSQL | MySQL | Firebird | SQLite | MsSQL | Oracle | DB2 | Informix | Sybase



#top Find Unused Indexes


Zobacz także Find Unused Indexes dla: PostgreSQL | MySQL | Firebird | SQLite | MsSQL | Oracle | DB2 | Informix | Sybase

Dokumentacja Oracle: finding unused indexes
Dokumentacja Oracle: finding unused indexes



#top Performance Tuning


Zobacz także Performance Tuning dla: PostgreSQL | MySQL | Firebird | SQLite | MsSQL | Oracle | DB2 | Informix | Sybase


















































Zmodyfikowany ostatnio: 2018/02/04 22:25:05 (6 lat temu), textsize: 17,8 kB, htmlsize: 33,1 kB

Zapraszam do komentowania, zgłaszania sugestii, propozycji, własnych przykładów, ...
Dodaj komentarzKomentarze użytkowników