You want to use conditional aggregation and division. You don't need two queries:
SELECT SUM(ans = 'yes')/COUNT(*)
FROM Table1
WHERE user = 'carl';
The SUM(ans = 'yes')
counts the number of rows with yes
. Actually, you could further simplify this to:
SELECT avg(ans = 'yes')
FROM Table1
WHERE user = 'carl';