Skip to main content
Announcements
Join us at Qlik Connect for 3 magical days of learning, networking,and inspiration! REGISTER TODAY and save!
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

qlikview join vs sql joins

Hello,

I have a question!

I have in qlikview a tempbase which is first joined on my big table - what is join similar to in SQL - is it a inner join?

example:

Table1:

Row

Row2

Row3

Row4

Row4+Row3 as Row_34

from xxxx

table_tmp:

load

Row

Row2

Row_34

resident table1;

join(table1)

load

Row_34

max(row) as RowMax

resident table_tmp

So what does the join means? is it a left or inner join?

1 Solution

Accepted Solutions
anbu1984
Master III
Master III

Default is full outer join

For Inner, use Inner Join

For Left, use Left Join

Edit:

Table1:

Load * Inline [

Key,Data1

1,aa

2,bb ];

Join(Table1)

Load * Inline [

Key,Data2

1,aa

3,cc ];

View solution in original post

10 Replies
sunilkumarqv
Specialist II
Specialist II

Hi thomas ,

in qlikview join becomes outer join  .

Understanding Join, Keep and Concatenate

John DenardAce

QVScriptor_Full_Small.png

We have implemented the QlikView Join, Keep and Concatenate in QvScriptor, a new revolutionary tool, able to generate QlikView script from visual schema.

We have written this small doc for the help file and we thing interesting to share it with the community as we found only partial explanations about the methods.

The QlikView script functions JOIN, KEEP and CONCATENATE can sometimes be used to solve the same problem, but there are important differences that should be understood.

Examine the sample tables below. Note that they share one common field name, "Key".

Also note that Table1 has a Key value "3" that is not present in Table2 and that Table2 has a key 4 that is not present in Table1.

Table1Table2
KeyAKeyC
1A11C1
2A22C2
3A3
4C4

Type of Joins:

JOIN will combine rows where the Key value matches.

  • The keyword OUTER will also retain rows that do not match rows in the other table.
  • The keyword LEFT will retain rows from the left table but only matching rows from the right table
  • The keyword RIGHT will retain rows from the right table but only matching rows from the left table
  • The keyword INNER will retain rows matching the left table and right table

Joins

Here's what the merged table will look like after the different join methods.

Note that QlikView merge the two tables after a Join.

Note: The explicit join keyword (= Outer Join) in QlikView script language performs a full join of the two tables. The result is one table. In many cases such joins will result in very large tables. One of the main features of QlikView is its ability to make associations between tables instead of joining them, which greatly reduces memory usage, increases processing speed and offers enormous flexibility. Explicit joins should therefore be generally avoided in QlikView scripts. The keep functionality was designed to reduce the number of cases where you need to use explicit joins

OUTER JOIN (Table1)LEFT JOIN (Table1)
KeyACKeyAC
1A1C11
A1C1
2A2
C22A2C2
3A3-3A3-
4-C4

RIGHT JOIN (Table1)INNER JOIN (Table1)
KeyACKeyAC
1A1C11A1C1
2A2C2
A2C2
4-C4
anbu1984
Master III
Master III

Default is full outer join

For Inner, use Inner Join

For Left, use Left Join

Edit:

Table1:

Load * Inline [

Key,Data1

1,aa

2,bb ];

Join(Table1)

Load * Inline [

Key,Data2

1,aa

3,cc ];

Anonymous
Not applicable
Author

Its inner join here. ( as SQL)

Not applicable
Author

Useful document about joins

Not applicable
Author

the document says its a outer join

Not applicable
Author

so an ordinary join is a full outer join?!

anbu1984
Master III
Master III

Yes. Run the above script and check the result

Anonymous
Not applicable
Author

Hi,

If Only Join is mentioned its full outer join.

Regards

Neetha

Anonymous
Not applicable
Author