そこで質問なのですが、DataSetを使用せずに結合するやり方をご教授下さると幸いです。
その意味が分かりませんが、今回のようなケースで普通に考え付くのは、TableAdpter 構成ウィザードで以下のように JOIN した SELECT クエリをベースに型付 DataSet + TableAdapter を作るということです。
【2016/12/15 9:55 誤記訂正:PersonJobTable ⇒ PersonTable】
SELECT PersonTable.ID, PersonTable.Name, JobTable.Job
FROM PersonTable INNER JOIN JobTable
ON PersonTable.JobID = JobTable.ID
それができれば、あとは自力でコードを一行も書かなくても、Visual Studio のウィザードを使ってのドラッグ&ドロップで DataGridView を使った Windows Forms アプリを作れます。
見るだけならそれで十分と思いますが、テーブルを JOIN した SELECT クエリをベースに TableAdapter を自動生成させると UPDATE, DELETE, INSERT に必要なコードは一切自動生成されないので、更新操作が必要な場合困ると思います。
DataGridView を操作して DB の更新を可能にする必要があるのでしたら、以下の方法があります。
DataGridView に ComboBox を表示
http://surferonwww.info/BlogEngine/post/2014/01/23/how-to-show-combobox-column-in-datagridview.aspx
DataGridView に ID と名前を併記
http://surferonwww.info/BlogEngine/post/2014/02/01/how-to-show-both-id-and-name-on-datagridview-while-enabling-update.aspx
なお、上記の記事の方法では PersonTable テーブルのみしか更新できません。PersonTable テーブルと JobTable テーブルの両方を同時に更新したい場合は TableAdapterManager クラス(Visual Studio 2008 以降)を利用して階層更新を行う必要があると思います。詳しくは以下の記事を見てください。
TableAdapterManager
http://surferonwww.info/BlogEngine/post/2011/12/21/TableAdapterManager.aspx