<?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%2FNatural_Join</id>
		<title>PostgreSQL/Table Joins/Natural 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%2FNatural_Join"/>
		<link rel="alternate" type="text/html" href="http://www.sqle.ru/index.php?title=PostgreSQL/Table_Joins/Natural_Join&amp;action=history"/>
		<updated>2026-04-04T10:09:25Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.sqle.ru/index.php?title=PostgreSQL/Table_Joins/Natural_Join&amp;diff=4456&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/Natural_Join&amp;diff=4456&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/Natural_Join&amp;diff=4457&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/Natural_Join&amp;diff=4457&amp;oldid=prev"/>
				<updated>2010-05-26T10:13:45Z</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;==NATURAL INNER sample==&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 t2 values(1,&amp;quot;xxx&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into t2 values(3,&amp;quot;yyy&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into t2 values(5,&amp;quot;zzz&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=# SELECT * FROM t1 NATURAL INNER JOIN t2;&lt;br /&gt;
 num | name&lt;br /&gt;
-----+------&lt;br /&gt;
(0 rows)&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;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Natural join two tables with order by and group by==&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;editions&amp;quot; (&lt;br /&gt;
postgres(#      &amp;quot;isbn&amp;quot; text NOT NULL,&lt;br /&gt;
postgres(#      &amp;quot;book_id&amp;quot; integer,&lt;br /&gt;
postgres(#      &amp;quot;edition&amp;quot; integer,&lt;br /&gt;
postgres(#      &amp;quot;publisher_id&amp;quot; integer,&lt;br /&gt;
postgres(#      &amp;quot;publication&amp;quot; date,&lt;br /&gt;
postgres(#      &amp;quot;type&amp;quot; character(1)&lt;br /&gt;
postgres(# );&lt;br /&gt;
CREATE TABLE&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=# insert into editions values(&amp;quot;039480001X&amp;quot;, 1608,  1,  59,  &amp;quot;1957-03-01&amp;quot;, &amp;quot;h&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into editions values(&amp;quot;0451160916&amp;quot;, 7808,  1,  75,  &amp;quot;1981-08-01&amp;quot;, &amp;quot;p&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into editions values(&amp;quot;0394800753&amp;quot;, 1590,  1,  59,  &amp;quot;1949-03-01&amp;quot;, &amp;quot;p&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into editions values(&amp;quot;0590445065&amp;quot;, 25908, 1,  150, &amp;quot;1987-03-01&amp;quot;, &amp;quot;p&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into editions values(&amp;quot;0694003611&amp;quot;, 1501,  1,  65,  &amp;quot;1947-03-04&amp;quot;, &amp;quot;p&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into editions values(&amp;quot;0679803335&amp;quot;, 1234,  1,  102, &amp;quot;1922-01-01&amp;quot;, &amp;quot;p&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into editions values(&amp;quot;0760720002&amp;quot;, 190,   1,  91,  &amp;quot;1868-01-01&amp;quot;, &amp;quot;p&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into editions values(&amp;quot;0394900014&amp;quot;, 1608,  1,  59,  &amp;quot;1957-01-01&amp;quot;, &amp;quot;p&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into editions values(&amp;quot;0385121679&amp;quot;, 7808,  2,  75,  &amp;quot;1993-10-01&amp;quot;, &amp;quot;h&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into editions values(&amp;quot;1885418035&amp;quot;, 156,   1,  163, &amp;quot;1995-03-28&amp;quot;, &amp;quot;p&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into editions values(&amp;quot;0929605942&amp;quot;, 156,   2,  171, &amp;quot;1998-12-01&amp;quot;, &amp;quot;p&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into editions values(&amp;quot;0441172717&amp;quot;, 4513,  2,  99,  &amp;quot;1998-09-01&amp;quot;, &amp;quot;p&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into editions values(&amp;quot;044100590X&amp;quot;, 4513,  3,  99,  &amp;quot;1999-10-01&amp;quot;, &amp;quot;h&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into editions values(&amp;quot;0451457994&amp;quot;, 4267,  3,  101, &amp;quot;2000-09-12&amp;quot;, &amp;quot;p&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into editions values(&amp;quot;0451198492&amp;quot;, 4267,  3,  101, &amp;quot;1999-10-01&amp;quot;, &amp;quot;h&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into editions values(&amp;quot;0823015505&amp;quot;, 2038,  1,  62,  &amp;quot;1958-01-01&amp;quot;, &amp;quot;p&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into editions values(&amp;quot;0596000855&amp;quot;, 41473, 2,  113, &amp;quot;2001-03-01&amp;quot;, &amp;quot;p&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=# select * from editions;&lt;br /&gt;
    isbn    | book_id | edition | publisher_id | publication | type&lt;br /&gt;
------------+---------+---------+--------------+-------------+------&lt;br /&gt;
 039480001X |    1608 |       1 |           59 | 1957-03-01  | h&lt;br /&gt;
 0451160916 |    7808 |       1 |           75 | 1981-08-01  | p&lt;br /&gt;
 0394800753 |    1590 |       1 |           59 | 1949-03-01  | p&lt;br /&gt;
 0590445065 |   25908 |       1 |          150 | 1987-03-01  | p&lt;br /&gt;
 0694003611 |    1501 |       1 |           65 | 1947-03-04  | p&lt;br /&gt;
 0679803335 |    1234 |       1 |          102 | 1922-01-01  | p&lt;br /&gt;
 0760720002 |     190 |       1 |           91 | 1868-01-01  | p&lt;br /&gt;
 0394900014 |    1608 |       1 |           59 | 1957-01-01  | p&lt;br /&gt;
 0385121679 |    7808 |       2 |           75 | 1993-10-01  | h&lt;br /&gt;
 1885418035 |     156 |       1 |          163 | 1995-03-28  | p&lt;br /&gt;
 0929605942 |     156 |       2 |          171 | 1998-12-01  | p&lt;br /&gt;
 0441172717 |    4513 |       2 |           99 | 1998-09-01  | p&lt;br /&gt;
 044100590X |    4513 |       3 |           99 | 1999-10-01  | h&lt;br /&gt;
 0451457994 |    4267 |       3 |          101 | 2000-09-12  | p&lt;br /&gt;
 0451198492 |    4267 |       3 |          101 | 1999-10-01  | h&lt;br /&gt;
 0823015505 |    2038 |       1 |           62 | 1958-01-01  | p&lt;br /&gt;
 0596000855 |   41473 |       2 |          113 | 2001-03-01  | p&lt;br /&gt;
(17 rows)&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=# CREATE TABLE &amp;quot;publishers&amp;quot; (&lt;br /&gt;
postgres(#      &amp;quot;id&amp;quot; integer NOT NULL,&lt;br /&gt;
postgres(#      &amp;quot;name&amp;quot; text,&lt;br /&gt;
postgres(#      &amp;quot;address&amp;quot; text,&lt;br /&gt;
postgres(#      Constraint &amp;quot;publishers_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;publishers_pkey&amp;quot; for table &amp;quot;publishers&amp;quot;&lt;br /&gt;
CREATE TABLE&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=# insert into publishers values(150, &amp;quot;Can Press&amp;quot;,  &amp;quot;29 Ave. Toronto, ON&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into publishers values(91,  &amp;quot;Henry Inc.&amp;quot;, &amp;quot;115 Street New York, NY&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into publishers values(113, &amp;quot;O Inc.&amp;quot;,     &amp;quot;101 St, Sebastopol, CA&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into publishers values(62,  &amp;quot;W Pubs&amp;quot;,     &amp;quot;1515, New York&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into publishers values(105, &amp;quot;N Press&amp;quot;,    &amp;quot;19 W, New York&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into publishers values(99,  &amp;quot;A Inc&amp;quot;,      &amp;quot;375 St, New York&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into publishers values(101, &amp;quot;Z Inc&amp;quot;,      &amp;quot;375 Ave, New York&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into publishers values(163, &amp;quot;M Press&amp;quot;,    &amp;quot;PO Box 1215&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into publishers values(171, &amp;quot;B&amp;quot;,          &amp;quot;16 W. 18th St. New York&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into publishers values(102, &amp;quot;P Inc&amp;quot;,      &amp;quot;375 Hudson St, New York&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into publishers values(75,  &amp;quot;D Inc&amp;quot;,      &amp;quot;1540 Broadway, New York&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into publishers values(65,  &amp;quot;H Pubs&amp;quot;,     &amp;quot;10 E 53rd St, New York&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into publishers values(59,  &amp;quot;R Inc&amp;quot;,      &amp;quot;1540 Broadway, New York&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=# select * from publishers;&lt;br /&gt;
 id  |    name    |         address&lt;br /&gt;
-----+------------+-------------------------&lt;br /&gt;
 150 | Can Press  | 29 Ave. Toronto, ON&lt;br /&gt;
  91 | Henry Inc. | 115 Street New York, NY&lt;br /&gt;
 113 | O Inc.     | 101 St, Sebastopol, CA&lt;br /&gt;
  62 | W Pubs     | 1515, New York&lt;br /&gt;
 105 | N Press    | 19 W, New York&lt;br /&gt;
  99 | A Inc      | 375 St, New York&lt;br /&gt;
 101 | Z Inc      | 375 Ave, New York&lt;br /&gt;
 163 | M Press    | PO Box 1215&lt;br /&gt;
 171 | B          | 16 W. 18th St. New York&lt;br /&gt;
 102 | P Inc      | 375 Hudson St, New York&lt;br /&gt;
  75 | D Inc      | 1540 Broadway, New York&lt;br /&gt;
  65 | H Pubs     | 10 E 53rd St, New York&lt;br /&gt;
  59 | R Inc      | 1540 Broadway, New York&lt;br /&gt;
(13 rows)&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=# SELECT max(retail), p.name&lt;br /&gt;
postgres-#         FROM (stock NATURAL JOIN editions)&lt;br /&gt;
postgres-#         JOIN publishers AS p (publisher_id)&lt;br /&gt;
postgres-#                         USING (publisher_id)&lt;br /&gt;
postgres-#         GROUP BY p.name&lt;br /&gt;
postgres-#         ORDER BY max DESC;&lt;br /&gt;
  max  |    name&lt;br /&gt;
-------+------------&lt;br /&gt;
 46.95 | Z Inc&lt;br /&gt;
 45.95 | A Inc&lt;br /&gt;
 36.95 | D Inc&lt;br /&gt;
 32.95 | R Inc&lt;br /&gt;
 28.95 | W Pubs&lt;br /&gt;
 28.95 | H Pubs&lt;br /&gt;
 24.95 | M Press&lt;br /&gt;
 24.95 | P Inc&lt;br /&gt;
 23.95 | Henry Inc.&lt;br /&gt;
 23.95 | Can Press&lt;br /&gt;
 21.95 | B&lt;br /&gt;
(11 rows)&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=# drop table editions;&lt;br /&gt;
DROP TABLE&lt;br /&gt;
postgres=# drop table publishers;&lt;br /&gt;
DROP TABLE&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;
==Using LIMIT for Natural 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;
&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=# CREATE TABLE &amp;quot;editions&amp;quot; (&lt;br /&gt;
postgres(#      &amp;quot;isbn&amp;quot; text NOT NULL,&lt;br /&gt;
postgres(#      &amp;quot;book_id&amp;quot; integer,&lt;br /&gt;
postgres(#      &amp;quot;edition&amp;quot; integer,&lt;br /&gt;
postgres(#      &amp;quot;publisher_id&amp;quot; integer,&lt;br /&gt;
postgres(#      &amp;quot;publication&amp;quot; date,&lt;br /&gt;
postgres(#      &amp;quot;type&amp;quot; character(1),&lt;br /&gt;
postgres(#      CONSTRAINT &amp;quot;integrity&amp;quot; CHECK (((book_id NOTNULL) AND (edition NOTNULL))),&lt;br /&gt;
postgres(#      Constraint &amp;quot;pkey&amp;quot; Primary Key (&amp;quot;isbn&amp;quot;)&lt;br /&gt;
postgres(# );&lt;br /&gt;
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index &amp;quot;pkey&amp;quot; for table &amp;quot;editions&amp;quot;&lt;br /&gt;
CREATE TABLE&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=# insert into editions values(&amp;quot;039480001X&amp;quot;, 1608,  1,  59,  &amp;quot;1957-03-01&amp;quot;, &amp;quot;h&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into editions values(&amp;quot;0451160916&amp;quot;, 7808,  1,  75,  &amp;quot;1981-08-01&amp;quot;, &amp;quot;p&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into editions values(&amp;quot;0394800753&amp;quot;, 1590,  1,  59,  &amp;quot;1949-03-01&amp;quot;, &amp;quot;p&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into editions values(&amp;quot;0590445065&amp;quot;, 25908, 1,  150, &amp;quot;1987-03-01&amp;quot;, &amp;quot;p&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into editions values(&amp;quot;0694003611&amp;quot;, 1501,  1,  65,  &amp;quot;1947-03-04&amp;quot;, &amp;quot;p&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into editions values(&amp;quot;0679803335&amp;quot;, 1234,  1,  102, &amp;quot;1922-01-01&amp;quot;, &amp;quot;p&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into editions values(&amp;quot;0760720002&amp;quot;, 190,   1,  91,  &amp;quot;1868-01-01&amp;quot;, &amp;quot;p&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into editions values(&amp;quot;0394900014&amp;quot;, 1608,  1,  59,  &amp;quot;1957-01-01&amp;quot;, &amp;quot;p&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into editions values(&amp;quot;0385121679&amp;quot;, 7808,  2,  75,  &amp;quot;1993-10-01&amp;quot;, &amp;quot;h&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into editions values(&amp;quot;1885418035&amp;quot;, 156,   1,  163, &amp;quot;1995-03-28&amp;quot;, &amp;quot;p&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into editions values(&amp;quot;0929605942&amp;quot;, 156,   2,  171, &amp;quot;1998-12-01&amp;quot;, &amp;quot;p&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into editions values(&amp;quot;0441172717&amp;quot;, 4513,  2,  99,  &amp;quot;1998-09-01&amp;quot;, &amp;quot;p&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into editions values(&amp;quot;044100590X&amp;quot;, 4513,  3,  99,  &amp;quot;1999-10-01&amp;quot;, &amp;quot;h&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into editions values(&amp;quot;0451457994&amp;quot;, 4267,  3,  101, &amp;quot;2000-09-12&amp;quot;, &amp;quot;p&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into editions values(&amp;quot;0451198492&amp;quot;, 4267,  3,  101, &amp;quot;1999-10-01&amp;quot;, &amp;quot;h&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into editions values(&amp;quot;0823015505&amp;quot;, 2038,  1,  62,  &amp;quot;1958-01-01&amp;quot;, &amp;quot;p&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into editions values(&amp;quot;0596000855&amp;quot;, 41473, 2,  113, &amp;quot;2001-03-01&amp;quot;, &amp;quot;p&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=# select * from editions;&lt;br /&gt;
    isbn    | book_id | edition | publisher_id | publication | type&lt;br /&gt;
------------+---------+---------+--------------+-------------+------&lt;br /&gt;
 039480001X |    1608 |       1 |           59 | 1957-03-01  | h&lt;br /&gt;
 0451160916 |    7808 |       1 |           75 | 1981-08-01  | p&lt;br /&gt;
 0394800753 |    1590 |       1 |           59 | 1949-03-01  | p&lt;br /&gt;
 0590445065 |   25908 |       1 |          150 | 1987-03-01  | p&lt;br /&gt;
 0694003611 |    1501 |       1 |           65 | 1947-03-04  | p&lt;br /&gt;
 0679803335 |    1234 |       1 |          102 | 1922-01-01  | p&lt;br /&gt;
 0760720002 |     190 |       1 |           91 | 1868-01-01  | p&lt;br /&gt;
 0394900014 |    1608 |       1 |           59 | 1957-01-01  | p&lt;br /&gt;
 0385121679 |    7808 |       2 |           75 | 1993-10-01  | h&lt;br /&gt;
 1885418035 |     156 |       1 |          163 | 1995-03-28  | p&lt;br /&gt;
 0929605942 |     156 |       2 |          171 | 1998-12-01  | p&lt;br /&gt;
 0441172717 |    4513 |       2 |           99 | 1998-09-01  | p&lt;br /&gt;
 044100590X |    4513 |       3 |           99 | 1999-10-01  | h&lt;br /&gt;
 0451457994 |    4267 |       3 |          101 | 2000-09-12  | p&lt;br /&gt;
 0451198492 |    4267 |       3 |          101 | 1999-10-01  | h&lt;br /&gt;
 0823015505 |    2038 |       1 |           62 | 1958-01-01  | p&lt;br /&gt;
 0596000855 |   41473 |       2 |          113 | 2001-03-01  | p&lt;br /&gt;
(17 rows)&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=# --Using LIMIT and OFFSET&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=# SELECT isbn, title, publication&lt;br /&gt;
postgres-#         FROM editions NATURAL JOIN books AS b (book_id)&lt;br /&gt;
postgres-#         ORDER BY publication DESC&lt;br /&gt;
postgres-#         LIMIT 5;&lt;br /&gt;
    isbn    |       title        | publication&lt;br /&gt;
------------+--------------------+-------------&lt;br /&gt;
 0596000855 | Programming Python | 2001-03-01&lt;br /&gt;
 0451457994 | C#                 | 2000-09-12&lt;br /&gt;
 044100590X | Javascript         | 1999-10-01&lt;br /&gt;
 0451198492 | C#                 | 1999-10-01&lt;br /&gt;
 0929605942 | C++                | 1998-12-01&lt;br /&gt;
(5 rows)&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=# drop table books cascade;&lt;br /&gt;
DROP TABLE&lt;br /&gt;
postgres=# drop table editions cascade;&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>