```python
def oxford_join(names: list) -> str:
    """
    Join a list of names into one phrase. Two names are joined by the word 'and', three or more take a comma between one pair but the last which takes the word 'and'.
    One name standing alone and no names possible give empty text.
    """
    if not names:
        return ""
    
    if len(names) == 1:
        return names[0]

    
    return ', '.join(names[:-1]) + ' and ' + names[-2]
```