As an alternative to Solution 1 (but note it is, as warned, extremely hard to read):
declare @date as date = '2015-06-01'
SELECT CAST(DATEDIFF(day, @date,GETDATE()) / 365 AS varchar) + ' Years ' +
CAST(CAST(DATEDIFF(day, @date, GETDATE()) % 365 / 30.5 AS int) AS varchar) + ' Months ' +
CAST(DATEDIFF(DAY, DATEADD(MONTH, CAST(DATEDIFF(day, @date, GETDATE()) % 365 / 30.5 AS int),
DATEADD(YEAR, CAST(DATEDIFF(day, @date,GETDATE()) / 365 AS int), @date)), GETDATE()) AS varchar) + ' Days'
Principle is the same, remove the number of days from the years and months already calculated to leave the remaining days.
This is not a good approach though - it assumes all years have 365 days and uses the "average" number of days in a month of 30.5 (which is only slightly more accurate than using 30).
There will be specific dates where this calculation is just wrong.
[EDIT] The following gives the correct result and should be accurate regardless of when run. It is still as difficult to read:
declare @start as date = '2015-Jun-01'
declare @end as Date = getdate()
select @start, CAST(DATEDIFF(MONTH, @start, @end) / 12 AS varchar) + ' Years ' +
CAST(DATEDIFF(MONTH, DATEADD(YEAR, DATEDIFF(MONTH, @start, @end) / 12, @start), @end) as varchar) + ' Months ' +
CAST(DATEDIFF(DAY, DATEADD(MONTH, DATEDIFF(MONTH, DATEADD(YEAR, DATEDIFF(MONTH, @start, @end) / 12, @start), @end), DATEADD(YEAR,DATEDIFF(MONTH, @start, @end) / 12,@start)), @end) AS varchar) + ' Days'