Die Hauptfunktion relationaler Algebra ist das Speichern von Daten in Tabellen, sogenannte Relationen, die mit Abfragesprachen, wie SQL, abgefragt werden können. Dadurch lassen sich z. B Eingaberelationen einfach zu Ausgaberelationen umwandeln lassen. Man kann somit also mit der Selektion Zeilen einer Tabelle filtern nach bestimmten Kriterien, z. B „Zeig alle Mitarbeiter mit einem Gehalt von über 3000€ an“. Die Projektion, womit man z. B ausdrücken kann: „Zeige mir nur die Namen dieser Mitarbeiter mit über 3000€ Gehalt an.“ oder die Vereinigungen, Differenzen und Durschnitte, womit man mit Zellen arithmetische Operationen durchführen kann. Wichtig ist auch noch das kartesische Produkt: man kombiniert jede Zelle mit der anderen. Dieses Konzept ist für JOINs wichtig!
Die Theorie der relationalen Algebra wurde erstmals 1970 vom Mathematiker Edgar F. Codd, der für IBM arbeitete, vorgestellt in seinem Buch „A relational model of data for large shared data banks“. Darin schrieb er, dass Nutzer der Datenbank nicht wissen sollten, wie die Daten innerhalb der Maschine organisiert sind. Relationale Algebra sollte somit eine Art Werkzeug zum Abfragen von Daten sein, und wird heute auch so in Form von Abfragesprachen wie z. B SQL benutzt.
JOINs lassen sich grundlegend so ausdrücken: Die Kombination aus Produkt und Selektion. Das Produkt stellt hierbei eine Form des Kartesischen Produkts dar, inwiefern kommt auf die Art des JOINs selbst an. An sich wäre das vollständige kartesische Produkt aller Relationen bei einem JOIN zu verwenden zwar korrekt, aber auch äußerst ineffizient! Deswegen hat man spezielle JOINs, wie z. B der Theta JOIN. Mit dem Theta JOIN verknüpft man zwei Tabellen auf Basis einer Bedingung. Z. B kann man so nur Felder verknüpfen, bei denen der Wert eines Feldes größer sein muss als das andere, und wenn dies nicht so ist, wird das Feld vom Join ausgeschlossen. Der Theta JOIN könnte doppelte Datensätze erzeugen. Will man doppelte Daten vermeiden nutzt man einen natürlichen JOIN, hier werden Tabellen ganz einfach basierend auf gemeinsamen Daten zusammengeführt.
Neben JOINs gibt es in SQL noch viele weitere Operationen, z. B die Selektion (in SQL: WHERE), womit man Zeilen nach Suchkriterien filtern kann, oder die Projektion (in SQL: SELECT), die man benuztzt um bestimmte Spalten auszuwählen.