You probably wouldn't want to create new tables, the data is already in the database. You just want some new methods to look at that data. Try these, they can also be made into views if you need them as a permanent solution. If there is a real reason to duplicate the data in the database you could use these to insert into the newly created tables as well.
--result set/table 1
SELECT
B.id,
B.source,
B.url,
A.country,
A.language
FROM SourcesA A
JOIN SourcesB B
ON A.source = B.source
--result set/table 2
SELECT
'SourcesA',
B.id,
B.source,
B.url,
A.country,
A.language
FROM SourcesA A
LEFT JOIN SourcesB B
ON A.source = B.source
WHERE B.source IS NULL
UNION ALL
SELECT
'SourcesA',
B.id,
B.source,
B.url,
A.country,
A.language
FROM SourcesB B
LEFT JOIN SourcesA A
ON B.source = A.source
WHERE A.source IS NULL
--result set/table 3
SELECT
* --being lazy here
FROM
(
SELECT
B.id,
B.source,
B.url,
A.country,
A.language
FROM SourcesA A
JOIN SourcesB B
ON A.source = B.source
) T1
JOIN
(
SELECT
'SourcesA',
B.id,
B.source,
B.url,
A.country,
A.language
FROM SourcesA A
LEFT JOIN SourcesB B
ON A.source = B.source
WHERE B.source IS NULL
UNION ALL
SELECT
'SourcesA',
B.id,
B.source,
B.url,
A.country,
A.language
FROM SourcesB B
LEFT JOIN SourcesA A
ON B.source = A.source
WHERE A.source IS NULL
) T2
ON T1.url = T2.url