Starting with at least pig 0.9.1, you can use either Star Express or Project-Range expressions to select multiple fields from a tuple. For more information, read Pig Latin 0.15.0, chapter "Expressions" .
Here is my example that I did to give you an understanding.
-- A: {id: long, f1: int, f2: int, f3: int, f4: int} -- B: {id: long, f5: int}
Let A and B join and select only the fields A
AB = FOREACH (JOIN A BY id, B by id) GENERATE $0..$4; --AB: {A::id: long, A::f1: int, A::f2: int, A::f3: int, A::f4: int}
or
BA = FOREACH (JOIN B BY id, A by id) GENERATE $2..; --BA: {A::id: long, A::f1: int, A::f2: int, A::f3: int, A::f4: int}
select all fields using the expression "Star"
AB = FOREACH (JOIN A BY id, B by id) GENERATE *; --AB: {A::id: long, A::f1: int, A::f2: int, A::f3: int, A::f4: int, B::id: long, B::f5: int}
select all individual fields (without the B :: id field) using the Project-range expression
AB = FOREACH (JOIN A BY id, B by id) GENERATE $0..$4, f5; --AB: {A::id: long, A::f1: int, A::f2: int, A::f3: int, A::f4: int, B::f5: int}
This is sometimes really useful when you have dozens of fields in one respect and only a couple in another.