XI: -Misto-Liberale (fino al 01/11/1992) - Liberale (dal 01/11/1992) XIV:UDC XVI:PdL XVII: - Misto-NI (fino al 19/03/2013; il 02/04/2017) - GAL (dal 20/03/2013 al 14/11/2013; dal 20/11/2013 al 01/12/2013; dal 21/12/2015 al 15/02/2016; dal 03/04/2017 al 24/05/2017) - AP (NCD-UDC) (dal 15/11/2013 al 19/11/2013; dal 02/12/2013 al 20/12/2015) - CoR (dal 16/02/2016 al 01/04/2017) - Federazione della Libertà (dal 25/05/2017)
Segretario della commissione parlamentare d'inchiesta sull'esposizione a possibili fattori patogeni, con particolare riferimento all'uso dell'uranio impoverito (dal 15/09/2010)
La sua carriera politica è caratterizzata da numerosi cambi di partito, o di adesione a gruppi parlamentari diversi[1].
Prima Repubblica
Inizia l'attività politica nel Partito Repubblicano Italiano da ragazzo, in cui milita per 25 anni, facendo parte anche del Consiglio Nazionale del PRI.
Nel 1991 abbandona il PRI e aderisce al Partito Liberale Italiano. In occasione del passaggio con il PLI Compagna dichiara «Sono un liberale da sempre anche se sono stato quasi 25 anni nel PRI. Per me è un ritorno a casa».
Candidato per il PLI, alle elezioni del 1992, viene eletto senatore. Durante l'XI legislatura è capogruppo del Partito Liberale in Senato
Seconda Repubblica
Dopo lo scioglimento del PLI, Compagna aderisce all'Unione Liberaldemocratica di Valerio Zanone. Alle elezioni del 1994 viene candidato per l'Unione Liberaldemocratica nel Patto per l'Italia, coalizione centrista guidata da Mariotto Segni, ma non viene eletto.
Nel 1997 abbandona la Federazione dei Liberali e si iscrive al Partito Socialista. Alle elezioni comunali di Napoli del 1997 viene indicato come un possibile assessore comunale in caso di vittoria del candidato di centrodestra Emmidio Novi. Le elezioni sono però vinte dal candidato di centrosinistra Antonio Bassolino.
Alcuni mesi dopo l'elezione ha proposto una modifica ad un decreto legge per permettere al giudice Corrado Carnevale di concorrere per il posto di primo presidente della Corte di cassazione[2].
Nel 2009, insieme alla senatrice Franca Chiaromonte del Partito Democratico, ha proposto un disegno di legge costituzionale per ripristinare l'immunità parlamentare[3]: vi si propone una procedura con cui la Camera di appartenenza dispone sospensione del procedimento penale a carico del parlamentare per tutta la durata del suo mandato (invertendo così la procedura esistente prima del 1993 con l'obbligo del magistrato di richiedere l'autorizzazione a procedere)[4].
Dopo solo 5 giorni, il 19 novembre 2013 lascia il Nuovo Centrodestra, e fa ritorno nel gruppo Grandi Autonomie e Libertà. Il 2 dicembre 2013, poi, ritorna nel gruppo del Nuovo Centrodestra[8].
Pur continuando ad essere iscritto a IDeA il 16 febbraio 2016 si iscrive al gruppo parlamentare Conservatori e Riformisti, permettendoglii di raggiungere la quota di sieci parlamentari e di continuare quindi ad esistere.
Dall'inizio della legislatura è il parlamentare che ha cambiato più volte in assoluto il gruppo parlamentare di appartenenza (ben nove volte dall'inizio della XVII Legislatura).