<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://www.sqle.ru/index.php?action=history&amp;feed=atom&amp;title=PostgreSQL%2FTable_Joins%2FCROSS_JOIN</id>
		<title>PostgreSQL/Table Joins/CROSS JOIN - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://www.sqle.ru/index.php?action=history&amp;feed=atom&amp;title=PostgreSQL%2FTable_Joins%2FCROSS_JOIN"/>
		<link rel="alternate" type="text/html" href="http://www.sqle.ru/index.php?title=PostgreSQL/Table_Joins/CROSS_JOIN&amp;action=history"/>
		<updated>2026-04-04T10:09:23Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.sqle.ru/index.php?title=PostgreSQL/Table_Joins/CROSS_JOIN&amp;diff=4442&amp;oldid=prev</id>
		<title> в 13:45, 26 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://www.sqle.ru/index.php?title=PostgreSQL/Table_Joins/CROSS_JOIN&amp;diff=4442&amp;oldid=prev"/>
				<updated>2010-05-26T13:45:56Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 13:45, 26 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://www.sqle.ru/index.php?title=PostgreSQL/Table_Joins/CROSS_JOIN&amp;diff=4443&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://www.sqle.ru/index.php?title=PostgreSQL/Table_Joins/CROSS_JOIN&amp;diff=4443&amp;oldid=prev"/>
				<updated>2010-05-26T10:13:42Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==A simple CROSS JOIN==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=# CREATE TABLE &amp;quot;books&amp;quot; (&lt;br /&gt;
postgres(#      &amp;quot;id&amp;quot;           integer NOT NULL,&lt;br /&gt;
postgres(#      &amp;quot;title&amp;quot;        text NOT NULL,&lt;br /&gt;
postgres(#      &amp;quot;author_id&amp;quot;    integer,&lt;br /&gt;
postgres(#      &amp;quot;subject_id&amp;quot;   integer,&lt;br /&gt;
postgres(#      Constraint &amp;quot;books_id_pkey&amp;quot; Primary Key (&amp;quot;id&amp;quot;)&lt;br /&gt;
postgres(# );&lt;br /&gt;
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index &amp;quot;books_id_pkey&amp;quot; for table &amp;quot;books&amp;quot;&lt;br /&gt;
CREATE TABLE&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=# insert into books values (7808,  &amp;quot;Java&amp;quot;,                  4156, 9);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into books values (4513,  &amp;quot;Javascript&amp;quot;,            1866, 15);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into books values (4267,  &amp;quot;C#&amp;quot;,                    2001, 15);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into books values (1608,  &amp;quot;Oracle&amp;quot;,                1809, 2);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into books values (1590,  &amp;quot;Sql Server&amp;quot;,            1809, 2);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into books values (25908, &amp;quot;Postgre SQL&amp;quot;,          15990, 2);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into books values (1501,  &amp;quot;Python&amp;quot;,                2031, 2);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into books values (190,   &amp;quot;Java by API&amp;quot;,             16, 6);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into books values (1234,  &amp;quot;2D&amp;quot;,                   25041, 3);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into books values (2038,  &amp;quot;C&amp;quot;,                     1644, 0);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into books values (156,   &amp;quot;C++&amp;quot;,                    115, 9);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into books values (41473, &amp;quot;Programming Python&amp;quot;,    7805, 4);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into books values (41477, &amp;quot;Learning Python&amp;quot;,       7805, 4);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into books values (41478, &amp;quot;Perl Cookbook&amp;quot;,         7806, 4);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into books values (41472, &amp;quot;Practical PostgreSQL&amp;quot;,  1212, 4);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=# select * from books;&lt;br /&gt;
  id   |        title         | author_id | subject_id&lt;br /&gt;
-------+----------------------+-----------+------------&lt;br /&gt;
  7808 | Java                 |      4156 |          9&lt;br /&gt;
  4513 | Javascript           |      1866 |         15&lt;br /&gt;
  4267 | C#                   |      2001 |         15&lt;br /&gt;
  1608 | Oracle               |      1809 |          2&lt;br /&gt;
  1590 | Sql Server           |      1809 |          2&lt;br /&gt;
 25908 | Postgre SQL          |     15990 |          2&lt;br /&gt;
  1501 | Python               |      2031 |          2&lt;br /&gt;
   190 | Java by API          |        16 |          6&lt;br /&gt;
  1234 | 2D                   |     25041 |          3&lt;br /&gt;
  2038 | C                    |      1644 |          0&lt;br /&gt;
   156 | C++                  |       115 |          9&lt;br /&gt;
 41473 | Programming Python   |      7805 |          4&lt;br /&gt;
 41477 | Learning Python      |      7805 |          4&lt;br /&gt;
 41478 | Perl Cookbook        |      7806 |          4&lt;br /&gt;
 41472 | Practical PostgreSQL |      1212 |          4&lt;br /&gt;
(15 rows)&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=# CREATE TABLE &amp;quot;authors&amp;quot; (&lt;br /&gt;
postgres(#      &amp;quot;id&amp;quot; integer NOT NULL,&lt;br /&gt;
postgres(#      &amp;quot;last_name&amp;quot; text,&lt;br /&gt;
postgres(#      &amp;quot;first_name&amp;quot; text,&lt;br /&gt;
postgres(#      Constraint &amp;quot;authors_pkey&amp;quot; Primary Key (&amp;quot;id&amp;quot;)&lt;br /&gt;
postgres(# );&lt;br /&gt;
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index &amp;quot;authors_pkey&amp;quot; for table &amp;quot;authors&amp;quot;&lt;br /&gt;
CREATE TABLE&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=# insert into authors values (1111,  &amp;quot;Martin&amp;quot;,       &amp;quot;Jason&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into authors values (1212,  &amp;quot;Worsley&amp;quot;,      &amp;quot;Robert&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into authors values (15990, &amp;quot;Mathews&amp;quot;,      &amp;quot;John&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into authors values (25041, &amp;quot;Smith&amp;quot;,       &amp;quot;Williams&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into authors values (16,    &amp;quot;Alcott&amp;quot;,       &amp;quot;May&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into authors values (4156,  &amp;quot;King&amp;quot;,         &amp;quot;Stephen&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into authors values (1866,  &amp;quot;Herbert&amp;quot;,      &amp;quot;Margaret&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into authors values (1644,  &amp;quot;Hogarth&amp;quot;,      &amp;quot;Celia&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into authors values (2031,  &amp;quot;Brown&amp;quot;,        &amp;quot;Wise&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into authors values (115,   &amp;quot;Poe&amp;quot;,          &amp;quot;Allen&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into authors values (7805,  &amp;quot;Lutz&amp;quot;,         &amp;quot;Mark&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into authors values (7806,  &amp;quot;Rice&amp;quot;,         &amp;quot;Tom&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into authors values (1533,  &amp;quot;Black&amp;quot;,        &amp;quot;Chris&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into authors values (1717,  &amp;quot;Brite&amp;quot;,        &amp;quot;Linda&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into authors values (2112,  &amp;quot;Larry&amp;quot;,        &amp;quot;Edward&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into authors values (2001,  &amp;quot;Clarke&amp;quot;,       &amp;quot;Alison&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into authors values (1213,  &amp;quot;Green&amp;quot;,        &amp;quot;Mary&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=# select * from authors;&lt;br /&gt;
  id   | last_name | first_name&lt;br /&gt;
-------+-----------+------------&lt;br /&gt;
  1111 | Martin    | Jason&lt;br /&gt;
  1212 | Worsley   | Robert&lt;br /&gt;
 15990 | Mathews   | John&lt;br /&gt;
 25041 | Smith     | Williams&lt;br /&gt;
    16 | Alcott    | May&lt;br /&gt;
  4156 | King      | Stephen&lt;br /&gt;
  1866 | Herbert   | Margaret&lt;br /&gt;
  1644 | Hogarth   | Celia&lt;br /&gt;
  2031 | Brown     | Wise&lt;br /&gt;
   115 | Poe       | Allen&lt;br /&gt;
  7805 | Lutz      | Mark&lt;br /&gt;
  7806 | Rice      | Tom&lt;br /&gt;
  1533 | Black     | Chris&lt;br /&gt;
  1717 | Brite     | Linda&lt;br /&gt;
  2112 | Larry     | Edward&lt;br /&gt;
  2001 | Clarke    | Alison&lt;br /&gt;
  1213 | Green     | Mary&lt;br /&gt;
(17 rows)&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=# -- A simple CROSS JOIN&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=# SELECT b.id, title, a.id, last_name&lt;br /&gt;
postgres-#         FROM books AS b CROSS JOIN authors AS a&lt;br /&gt;
postgres-#         WHERE b.author_id = a.id;&lt;br /&gt;
  id   |        title         |  id   | last_name&lt;br /&gt;
-------+----------------------+-------+-----------&lt;br /&gt;
  7808 | Java                 |  4156 | King&lt;br /&gt;
  4513 | Javascript           |  1866 | Herbert&lt;br /&gt;
  4267 | C#                   |  2001 | Clarke&lt;br /&gt;
 25908 | Postgre SQL          | 15990 | Mathews&lt;br /&gt;
  1501 | Python               |  2031 | Brown&lt;br /&gt;
   190 | Java by API          |    16 | Alcott&lt;br /&gt;
  1234 | 2D                   | 25041 | Smith&lt;br /&gt;
  2038 | C                    |  1644 | Hogarth&lt;br /&gt;
   156 | C++                  |   115 | Poe&lt;br /&gt;
 41473 | Programming Python   |  7805 | Lutz&lt;br /&gt;
 41477 | Learning Python      |  7805 | Lutz&lt;br /&gt;
 41478 | Perl Cookbook        |  7806 | Rice&lt;br /&gt;
 41472 | Practical PostgreSQL |  1212 | Worsley&lt;br /&gt;
(13 rows)&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=# drop table authors;&lt;br /&gt;
DROP TABLE&lt;br /&gt;
postgres=# drop table books;&lt;br /&gt;
DROP TABLE&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=#&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==CROSS JOIN in action==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=# CREATE TABLE t1 (&lt;br /&gt;
postgres(#     num         int,&lt;br /&gt;
postgres(#     name       varchar(10)&lt;br /&gt;
postgres(# );&lt;br /&gt;
CREATE TABLE&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=# insert into t1 values(1,&amp;quot;a&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into t1 values(2,&amp;quot;b&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into t1 values(3,&amp;quot;c&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=# CREATE TABLE t2 (&lt;br /&gt;
postgres(#     num         int,&lt;br /&gt;
postgres(#     name       varchar(10)&lt;br /&gt;
postgres(# );&lt;br /&gt;
CREATE TABLE&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=# insert into t1 values(1,&amp;quot;xxx&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into t1 values(3,&amp;quot;yyy&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into t1 values(5,&amp;quot;zzz&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=# SELECT * FROM t1 CROSS JOIN t2;&lt;br /&gt;
 num | name | num | name&lt;br /&gt;
-----+------+-----+------&lt;br /&gt;
(0 rows)&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=# drop table t1;&lt;br /&gt;
DROP TABLE&lt;br /&gt;
postgres=# drop table t2;&lt;br /&gt;
DROP TABLE&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=#&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>