Existen varios formas de juntar dos tablas, una es aplicando la forma que ya usas en tu ejemplo, es decir:
select columnas
from tabla1, tabla2
where tabla1.id = tabla2.id;
Otra forma es aplicando la clausula inner join, que solamente va a juntar las dos tablas si el campo que se se usa para hacer la relacion es comun en ambas tablas:
select columnas
from tabla1 inner join tabla2 on tabla1.id = tabla2.id;
Esta forma hace lo mismo que la de tu ejemplo pero es mas legible, ya que entre otras cosas la consulta suele ser mas corta y la clausula where no se usa para establecer la relacion entre las tablas.
Para darle solucion a tu problema puedes usar las clausulas left join o right join:
select columnas
from tabla1 left join tabla2 on tabla1.id = tabla2.id;
En esta consulta se usa la clausula left join, la cual permite juntar las dos tablas coincidan o no las columnas por las que se hace la comparacion, es decir en caso de que hayan coincidencias entre las columnas que se comparan, se establece la relacion como hasta ahora, pero en caso de que no hayan coincidencias se muestra a la izquierda los datos de tabla1 y a la derecha como no hay coincidencia se rellena esa fila con valores null.
select columnas
from tabla1 right join tabla2 on tabla1.id = tabla2.id;
Aqui ocurre lo mismo salvo que en caso de que no hayan coincidencias se muestra a la derecha los datos de tabla2 y a la izquierda como no hay coincidencia se rellena esa fila con valores null.