def merged_data(data_left: list, data_right: list, join_on: str) -> list:
    """Merge Join two sorted datasets (tables) into one on unique key

    Parameters
    ----------
    data_left : list
        Left data stored in list of dicts 
    data_right : list
        Right data stored in list of dicts
    join_on : str
        Common unique column key of two datasets

    Returns
    -------
    list
        Merged data stored in list of dicts
    """
    # get data right columns with None values in case when right table don`t match with left
    columns_right = data_right[0].keys()
    right_none = {e: None for e in columns_right if e != join_on}

    merged_data = []
    data_r_start = 0
    for row_left in data_left:
        merged_row = {**row_left, **right_none}
        for i in range(data_r_start, len(data_right)):
            if row_left[join_on] == data_right[i][join_on]:
                merged_row = {**row_left, **data_right[i]}
                data_r_start = i
                break
        merged_data.append(merged_row)

    return merged_data