Les foreign Key sont là pour assurer l'intégrité fonctionnelle (que le lien à insérer dans la table fille existe bien dans la table référence)
Autrement dit, Avec une foreign Key tu ne peux pas ajouter de ligne si la référence n'existe pas dans la table parent. Sans foreign key tu pourrais.
Pour ce qui est des requêtes, il faut quand même faire les jointures.