Thanks for the reply. I understand what a lossless join is, but I am just confused with these types of examples. This particular example, on joining the 2 decomposed tables, it gives duplicate rows, but not rows that didn't exist at all in the original table.
It just gives rows which existed more than 1 time. Would it still be lossless?
The concept of lossless / lossy joins is part of relational database theory. Join in that context is an operation on relations and not "tables" of any other (non-relational) kind.
looks like something that has duplicate tuples and therefore it isn't a relation and isn't a relational decomposition. If it isn't a relation then what you are describing can't be a join, let alone a lossless one. Of course it's quite possible to define joins and similar operations on tables (such as SQL tables) but then you'd also have to define what a lossless join meant in that same context. I'm not familiar with any such definition.