加入表与另一个不匹配价值的可能性

I have 2 tables that I want to join.

      Table A
    ------------
   | owner | id |
    ------------
   |  a   |  1  |  
   |  a   |  2  |
     ..........
   |  a   |  20 |
    ------------

        Table B
    ---------------
   | a_id | number |
    ---------------
   |  1   |   2    |
   |  2   |   7    |
     .............
   |  15  |   3    |
    ---------------

How can I join those two tables, showing all of the records from Table A and ordering them by number from Table B? The total number of records in Table A and Table B is not always the same. Most of the time, Table A will have a few records (about 1 - 3) more than Table B.

I tried using a query with a WHERE clause that will check if id is equal to a_id or a_id is equal to NULL but it doesn't work. The result was, only id that exist in Table B (the a_id column) shows up.

Use LEFT JOIN if you want to return a row even if there is no matching row in the joined table:

SELECT     *
FROM       A
LEFT JOIN  B ON B.a_id = A.id
ORDER BY   B.number

The columns of the joined table will be NULL when there was no match row.