Relational Algebra is a procedural query language that takes relations as input and outputs relations. It consists of operations like restriction, projection, union, intersection, difference, product, join, and division that are used to manipulate queries on relations. Restriction returns rows that satisfy a condition. Projection selects certain attributes and discards others. Union combines the results of two queries, intersection returns tuples that are in both relations, and difference returns tuples that are in one relation but not the other. Join combines rows from two tables based on a join condition. There are various types of joins like equijoin, natural join, inner join, outer join including left, right and full joins, self join, and cross/cartesian product.