A simple CROSS JOIN : CROSS JOIN « Table Joins « PostgreSQL

PostgreSQL
1. Aggregate Functions
2. Analytical Functions
3. Array
4. Constraints
5. Cursor
6. Data Type
7. Database
8. Date Timezone
9. Index
10. Inheritance
11. Insert Delete Update
12. Math Functions
13. Postgre SQL
14. Select Query
15. Sequence
16. Store Procedure Function
17. String Functions
18. Subquery
19. Table
20. Table Joins
21. Transaction
22. User Previliege
23. View
Java
Java Tutorial
Java Source Code / Java Documentation
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
C# / C Sharp
C# / CSharp Tutorial
ASP.Net
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
PHP
Python
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
PostgreSQL » Table Joins » CROSS JOIN 
A simple CROSS JOIN

postgres=#
postgres=#
postgres=# CREATE TABLE "books" (
postgres(#      "id"           integer NOT NULL,
postgres(#      "title"        text NOT NULL,
postgres(#      "author_id"    integer,
postgres(#      "subject_id"   integer,
postgres(#      Constraint "books_id_pkey" Primary Key ("id")
postgres();
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "books_id_pkey" for table "books"
CREATE TABLE
postgres=#
postgres=#
postgres=# insert into books values (7808,  'Java',                  41569);
INSERT 0 1
postgres=# insert into books values (4513,  'Javascript',            186615);
INSERT 0 1
postgres=# insert into books values (4267,  'C#',                    200115);
INSERT 0 1
postgres=# insert into books values (1608,  'Oracle',                18092);
INSERT 0 1
postgres=# insert into books values (1590,  'Sql Server',            18092);
INSERT 0 1
postgres=# insert into books values (25908'Postgre SQL',          159902);
INSERT 0 1
postgres=# insert into books values (1501,  'Python',                20312);
INSERT 0 1
postgres=# insert into books values (190,   'Java by API',             166);
INSERT 0 1
postgres=# insert into books values (1234,  '2D',                   250413);
INSERT 0 1
postgres=# insert into books values (2038,  'C',                     16440);
INSERT 0 1
postgres=# insert into books values (156,   'C++',                    1159);
INSERT 0 1
postgres=# insert into books values (41473'Programming Python',    78054);
INSERT 0 1
postgres=# insert into books values (41477'Learning Python',       78054);
INSERT 0 1
postgres=# insert into books values (41478'Perl Cookbook',         78064);
INSERT 0 1
postgres=# insert into books values (41472'Practical PostgreSQL',  12124);
INSERT 0 1
postgres=#
postgres=# select from books;
  id   |        title         | author_id | subject_id
-------+----------------------+-----------+------------
  7808 | Java                 |      4156 |          9
  4513 | Javascript           |      1866 |         15
  4267 | C#                   |      2001 |         15
  1608 | Oracle               |      1809 |          2
  1590 | Sql Server           |      1809 |          2
 25908 | Postgre SQL          |     15990 |          2
  1501 | Python               |      2031 |          2
   190 | Java by API          |        16 |          6
  1234 2D                   |     25041 |          3
  2038 | C                    |      1644 |          0
   156 | C++                  |       115 |          9
 41473 | Programming Python   |      7805 |          4
 41477 | Learning Python      |      7805 |          4
 41478 | Perl Cookbook        |      7806 |          4
 41472 | Practical PostgreSQL |      1212 |          4
(15 rows)

postgres=#
postgres=# CREATE TABLE "authors" (
postgres(#      "id" integer NOT NULL,
postgres(#      "last_name" text,
postgres(#      "first_name" text,
postgres(#      Constraint "authors_pkey" Primary Key ("id")
postgres();
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "authors_pkey" for table "authors"
CREATE TABLE
postgres=#
postgres=#
postgres=# insert into authors values (1111,  'Martin',       'Jason');
INSERT 0 1
postgres=# insert into authors values (1212,  'Worsley',      'Robert');
INSERT 0 1
postgres=# insert into authors values (15990'Mathews',      'John');
INSERT 0 1
postgres=# insert into authors values (25041'Smith',       'Williams');
INSERT 0 1
postgres=# insert into authors values (16,    'Alcott',       'May');
INSERT 0 1
postgres=# insert into authors values (4156,  'King',         'Stephen');
INSERT 0 1
postgres=# insert into authors values (1866,  'Herbert',      'Margaret');
INSERT 0 1
postgres=# insert into authors values (1644,  'Hogarth',      'Celia');
INSERT 0 1
postgres=# insert into authors values (2031,  'Brown',        'Wise');
INSERT 0 1
postgres=# insert into authors values (115,   'Poe',          'Allen');
INSERT 0 1
postgres=# insert into authors values (7805,  'Lutz',         'Mark');
INSERT 0 1
postgres=# insert into authors values (7806,  'Rice',         'Tom');
INSERT 0 1
postgres=# insert into authors values (1533,  'Black',        'Chris');
INSERT 0 1
postgres=# insert into authors values (1717,  'Brite',        'Linda');
INSERT 0 1
postgres=# insert into authors values (2112,  'Larry',        'Edward');
INSERT 0 1
postgres=# insert into authors values (2001,  'Clarke',       'Alison');
INSERT 0 1
postgres=# insert into authors values (1213,  'Green',        'Mary');
INSERT 0 1
postgres=#
postgres=# select from authors;
  id   | last_name | first_name
-------+-----------+------------
  1111 | Martin    | Jason
  1212 | Worsley   | Robert
 15990 | Mathews   | John
 25041 | Smith     | Williams
    16 | Alcott    | May
  4156 | King      | Stephen
  1866 | Herbert   | Margaret
  1644 | Hogarth   | Celia
  2031 | Brown     | Wise
   115 | Poe       | Allen
  7805 | Lutz      | Mark
  7806 | Rice      | Tom
  1533 | Black     | Chris
  1717 | Brite     | Linda
  2112 | Larry     | Edward
  2001 | Clarke    | Alison
  1213 | Green     | Mary
(17 rows)

postgres=#
postgres=#
postgres=# -- A simple CROSS JOIN
postgres=#
postgres=# SELECT b.id, title, a.id, last_name
postgres-#         FROM books AS b CROSS JOIN authors AS a
postgres-#         WHERE b.author_id = a.id;
  id   |        title         |  id   | last_name
-------+----------------------+-------+-----------
  7808 | Java                 |  4156 | King
  4513 | Javascript           |  1866 | Herbert
  4267 | C#                   |  2001 | Clarke
 25908 | Postgre SQL          | 15990 | Mathews
  1501 | Python               |  2031 | Brown
   190 | Java by API          |    16 | Alcott
  1234 2D                   25041 | Smith
  2038 | C                    |  1644 | Hogarth
   156 | C++                  |   115 | Poe
 41473 | Programming Python   |  7805 | Lutz
 41477 | Learning Python      |  7805 | Lutz
 41478 | Perl Cookbook        |  7806 | Rice
 41472 | Practical PostgreSQL |  1212 | Worsley
(13 rows)

postgres=#
postgres=#
postgres=#
postgres=# drop table authors;
DROP TABLE
postgres=# drop table books;
DROP TABLE
postgres=#
postgres=#

           
       
Related examples in the same category
1. CROSS JOIN in action
www.java2java.com | Contact Us
Copyright 2010 - 2030 Java Source and Support. All rights reserved.
All other trademarks are property of their respective owners.