Mega Code Archive

 
Categories / MSSQL Tutorial / Table Join
 

It is the Cartesian product of all the rows from all tables participating in the SELECT statement

8> 9> 10> CREATE TABLE titles( 11>    title_id       varchar(20), 12>    title          varchar(80)       NOT NULL, 13>    type           char(12)          NOT NULL, 14>    pub_id         char(4)               NULL, 15>    price          money                 NULL, 16>    advance        money                 NULL, 17>    royalty        int                   NULL, 18>    ytd_sales      int                   NULL, 19>    notes          varchar(200)          NULL, 20>    pubdate        datetime          NOT NULL 21> ) 22> GO 1> 2> insert titles values ('1', 'Secrets',   'popular_comp', '1389', $20.00, $8000.00, 10, 4095,'Note 1','06/12/94') 3> insert titles values ('2', 'The',       'business',     '1389', $19.99, $5000.00, 10, 4095,'Note 2','06/12/91') 4> insert titles values ('3', 'Emotional', 'psychology',   '0736', $7.99,  $4000.00, 10, 3336,'Note 3','06/12/91') 5> insert titles values ('4', 'Prolonged', 'psychology',   '0736', $19.99, $2000.00, 10, 4072,'Note 4','06/12/91') 6> insert titles values ('5', 'With',      'business',     '1389', $11.95, $5000.00, 10, 3876,'Note 5','06/09/91') 7> insert titles values ('6', 'Valley',    'mod_cook',     '0877', $19.99, $0.00,    12, 2032,'Note 6','06/09/91') 8> insert titles values ('7', 'Any?',      'trad_cook',    '0877', $14.99, $8000.00, 10, 4095,'Note 7','06/12/91') 9> insert titles values ('8', 'Fifty',     'trad_cook',    '0877', $11.95, $4000.00, 14, 1509,'Note 8','06/12/91') 10> GO (1 rows affected) (1 rows affected) (1 rows affected) (1 rows affected) (1 rows affected) (1 rows affected) (1 rows affected) (1 rows affected) 1> 2> CREATE TABLE titleauthor( 3>    au_id          varchar(20), 4>    title_id       varchar(20), 5>    au_ord         tinyint               NULL, 6>    royaltyper     int                   NULL 7> ) 8> GO 1> 2> insert titleauthor values('1', '2', 1, 60) 3> insert titleauthor values('2', '3', 1, 100) 4> insert titleauthor values('3', '4', 1, 100) 5> insert titleauthor values('4', '5', 1, 100) 6> insert titleauthor values('5', '6', 1, 100) 7> insert titleauthor values('6', '7', 2, 40) 8> insert titleauthor values('7', '8', 1, 100) 9> insert titleauthor values('8', '9', 1, 100) 10> GO (1 rows affected) (1 rows affected) (1 rows affected) (1 rows affected) (1 rows affected) (1 rows affected) (1 rows affected) (1 rows affected) 1> 2> 3> CREATE TABLE authors( 4>    au_id          varchar(11), 5>    au_lname       varchar(40)       NOT NULL, 6>    au_fname       varchar(20)       NOT NULL, 7>    phone          char(12)          NOT NULL DEFAULT ('UNKNOWN'), 8>    address        varchar(40)           NULL, 9>    city           varchar(20)           NULL, 10>    state          char(2)               NULL, 11>    zip            char(5)               NULL, 12>    contract       bit               NOT NULL 13> ) 14> GO 1> insert authors values('1',  'Joe',   'Abra',   '111 111-1111', '6 St.', 'Berkeley',  'CA', '11111', 1) 2> insert authors values('2',  'Jack',  'Majo',   '222 222-2222', '3 St.', 'Oakland' ,  'CA', '22222', 1) 3> insert authors values('3',  'Pink',  'Cherry', '333 333-3333', '5 Ln.', 'Vancouver', 'BC', '33333', 1) 4> insert authors values('4',  'Blue',  'Albert', '444 444-4444', '7 Av.', 'Vancouver', 'BC', '44444', 1) 5> insert authors values('5',  'Red',   'Anne',   '555 555-5555', '6 Av.', 'Regina',    'SK', '55555', 1) 6> insert authors values('6',  'Black', 'Michel', '666 666-6666', '3 Pl.', 'Regina',    'SK', '66666', 1) 7> insert authors values('7',  'White', 'Sylvia', '777 777-7777', '1 Pl.', 'Rockville', 'MD', '77777', 1) 8> insert authors values('8',  'Yellow','Heather','888 888-8888', '3 Pu',  'Vacaville', 'CA', '88888', 0) 9> insert authors values('9',  'Gold',  'Dep',    '999 999-9999', '5 Av.', 'Oakland',   'CA', '99999', 0) 10> insert authors values('10', 'Siler', 'Dean',   '000 000-0000', '4 Av.', 'Oakland',   'CA', '00000', 1) 11> GO (1 rows affected) (1 rows affected) (1 rows affected) (1 rows affected) (1 rows affected) (1 rows affected) (1 rows affected) (1 rows affected) (1 rows affected) (1 rows affected) 1> 2>      SELECT    au_lname, title 3>      FROM      authors CROSS JOIN titles 4> GO au_lname                                 title ---------------------------------------- -------------------------------------------------------------------------------- Joe                                      Secrets Jack                                     Secrets Pink                                     Secrets Blue                                     Secrets Red                                      Secrets Black                                    Secrets White                                    Secrets Yellow                                   Secrets Gold                                     Secrets Siler                                    Secrets Joe                                      The Jack                                     The Pink                                     The Blue                                     The Red                                      The Black                                    The White                                    The Yellow                                   The Gold                                     The Siler                                    The Joe                                      Emotional Jack                                     Emotional Pink                                     Emotional Blue                                     Emotional Red                                      Emotional Black                                    Emotional White                                    Emotional Yellow                                   Emotional Gold                                     Emotional Siler                                    Emotional Joe                                      Prolonged Jack                                     Prolonged Pink                                     Prolonged Blue                                     Prolonged Red                                      Prolonged Black                                    Prolonged White                                    Prolonged Yellow                                   Prolonged Gold                                     Prolonged Siler                                    Prolonged Joe                                      With Jack                                     With Pink                                     With Blue                                     With Red                                      With Black                                    With White                                    With Yellow                                   With Gold                                     With Siler                                    With Joe                                      Valley Jack                                     Valley Pink                                     Valley Blue                                     Valley Red                                      Valley Black                                    Valley White                                    Valley Yellow                                   Valley Gold                                     Valley Siler                                    Valley Joe                                      Any? Jack                                     Any? Pink                                     Any? Blue                                     Any? Red                                      Any? Black                                    Any? White                                    Any? Yellow                                   Any? Gold                                     Any? Siler                                    Any? Joe                                      Fifty Jack                                     Fifty Pink                                     Fifty Blue                                     Fifty Red                                      Fifty Black                                    Fifty White                                    Fifty Yellow                                   Fifty Gold                                     Fifty Siler                                    Fifty (80 rows affected) 1> 2> drop table authors; 3> drop table titleauthor; 4> drop table titles; 5> GO