<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl">
	<id>http://brain.fuw.edu.pl/edu/index.php?action=history&amp;feed=atom&amp;title=%2FZ%C5%82%C4%85czeniaWewn%C4%99trzne</id>
	<title>/ZłączeniaWewnętrzne - Historia wersji</title>
	<link rel="self" type="application/atom+xml" href="http://brain.fuw.edu.pl/edu/index.php?action=history&amp;feed=atom&amp;title=%2FZ%C5%82%C4%85czeniaWewn%C4%99trzne"/>
	<link rel="alternate" type="text/html" href="http://brain.fuw.edu.pl/edu/index.php?title=/Z%C5%82%C4%85czeniaWewn%C4%99trzne&amp;action=history"/>
	<updated>2026-04-24T10:49:45Z</updated>
	<subtitle>Historia wersji tej strony wiki</subtitle>
	<generator>MediaWiki 1.34.1</generator>
	<entry>
		<id>http://brain.fuw.edu.pl/edu/index.php?title=/Z%C5%82%C4%85czeniaWewn%C4%99trzne&amp;diff=2025&amp;oldid=prev</id>
		<title>Jarekz: Utworzono nową stronę &quot;= TI:WTBD/ZłączeniaWewnętrzne = W ogólniejszym poleceniu SELECT źródłem danych może być złączenie 2 lub więcej tabel -- tzn. może ono występować w kla...&quot;</title>
		<link rel="alternate" type="text/html" href="http://brain.fuw.edu.pl/edu/index.php?title=/Z%C5%82%C4%85czeniaWewn%C4%99trzne&amp;diff=2025&amp;oldid=prev"/>
		<updated>2015-05-23T14:43:55Z</updated>

		<summary type="html">&lt;p&gt;Utworzono nową stronę &amp;quot;= &lt;a href=&quot;/edu/index.php/TI:WTBD&quot; title=&quot;TI:WTBD&quot;&gt;TI:WTBD&lt;/a&gt;/ZłączeniaWewnętrzne = W ogólniejszym poleceniu SELECT źródłem danych może być złączenie 2 lub więcej tabel -- tzn. może ono występować w kla...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nowa strona&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= [[TI:WTBD]]/ZłączeniaWewnętrzne =&lt;br /&gt;
W ogólniejszym poleceniu SELECT źródłem danych może być złączenie 2 lub więcej tabel -- tzn. może ono występować w klauzuli FROM zamiast nazwy pojedynczej tabeli. Jest parę różnych sposobów jego zapisania.&lt;br /&gt;
&lt;br /&gt;
== Złączenie wewnętrzne ==&lt;br /&gt;
&lt;br /&gt;
* ''tabela1'', ''tabela2'' WHERE ''warunek_złączenia''&lt;br /&gt;
* ''tabela1'' JOIN ''tabela2'' WHERE ''warunek_złączenia''&lt;br /&gt;
* ''tabela1'' INNER JOIN ''tabela2'' WHERE ''warunek_złączenia''&lt;br /&gt;
* ''tabela1'' CROSS JOIN ''tabela2'' WHERE ''warunek_złączenia''&lt;br /&gt;
&lt;br /&gt;
Każdy z tych zapisów ''w zasadzie'' oznacza to samo, mianowicie iloczyn kartezjański ''tabela1'' x ''tabela2'' ograniczony do podzbioru wierszy spełniających ''warunek_złączenia''. Ale np. użycie CROSS JOIN w przypadku SQLite zabrania optymalizatorowi zapytań zamiany kolejności tabel (nie ma to wpływu na wynik, tylko na procedurę jego uzyskania).&lt;br /&gt;
&lt;br /&gt;
Dla takich jak wyżej złączeń (tzn. wewnętrznych) istnieje też składnia pozwalająca zapisać warunek złączenia w odrębnej klauzuli ON (zamiast w klauzuli WHERE), tzn.:&lt;br /&gt;
&lt;br /&gt;
* ''tabela1'' JOIN ''tabela2'' ON ''warunek_złączenia'' [JOIN ''tabela3'' ON ''kolejny_warunek'' ...]&lt;br /&gt;
&lt;br /&gt;
semantycznie jest to to samo, niektóre produkty mogą (nie jestem tego pewien) traktować takie klauzule inaczej przy optymalizacji. Korzyść może być głównie dla czytelności zapisu: można wyodrębnić warunki złączenia (tzn. te, które wynikają z powiązań między tabelami) od warunków, służących selekcji interesujących nas danych -- pozostawiając te ostatnie w klauzuli WHERE. Dodatkowo, w przypadku złączeń wielokrotnych, pozwala to umieścić warunki łączące blisko odwołań to tabel, do których one się odnoszą -- co również może sprzyjać czytelności.&lt;br /&gt;
&lt;br /&gt;
== Aliasy ==&lt;br /&gt;
&lt;br /&gt;
Podając odniesienie do tabeli w klauzuli FROM można zarazem określić dla niej alias:&lt;br /&gt;
&lt;br /&gt;
* ''baza1.tabela_o_długiej_nazwie'' [AS] ''alias'', ...&lt;br /&gt;
&lt;br /&gt;
(słowo AS jest opcjonalne). Służy to temu, by nie musieć wielokrotnie korzystać z (być może długiej) nazwy tabeli przy kwalifikowaniu nazw kolumn w wyrażeniach po SELECT i warunkach.&lt;br /&gt;
&lt;br /&gt;
Podobnie można wprowadzić aliasy dla wyrażeń określających kolumny tabeli wynikowej. Ich zastosowanie jest jednak dość ograniczone.&lt;/div&gt;</summary>
		<author><name>Jarekz</name></author>
		
	</entry>
</feed>