Find the positive divisors! Definition
A number is positive if it is greater than zero.
A number (A) is the divisor of another number (B) if A can divide B with no remainder.
For example, 2 is a divisor of 6 because 2 can divide 6 with no remainder.
Goal
Your task is to write a program/function that takes a positive number and then find all of its divisors.
Restriction

You may not use any built-in related to prime or factorization.
The complexity of your algorithm must not exceed O(sqrt(n)).

Freedom

The output list may contain duplicates.
The output list does not need to be sorted.

Scoring
This is code-golf. Shortest solution in bytes wins.
Testcases
input    output
1        1
2        1,2
6        1,2,3,6
9        1,3,9
PostgreSQL, 176 bytes
WITH c AS(SELECT * FROM(SELECT 6v)t,generate_series(1,sqrt(v)::int)s(r)WHERE v%r=0)
SELECT string_agg(r::text,',' ORDER BY r)
FROM(SELECT r FROM c UNION SELECT v/r FROM c)s

SqlFiddleDemo
Input:  (SELECT ...v)
How it works:

(SELECT ...v) - input
generate_series(1, sqrt(v)::int) - numbers from 1 to sqrt(n)
WHERE v%r=0 -filter divisors
wrap with common table expression to refer twice
SELECT r FROM c UNION SELECT v/r FROM c generete rest of divisors and combine
SELECT string_agg(r::text,',' ORDER BY r) produce final comma separated result


Input as table:
WITH c AS(SELECT * FROM i,generate_series(1,sqrt(v)::int)s(r)WHERE v%r=0)
SELECT v,string_agg(r::text,',' ORDER BY r)
FROM(SELECT v,r FROM c UNION SELECT v,v/r FROM c)s
GROUP BY v

SqlFiddleDemo
Output:
╔═════╦════════════════╗
║ v   ║   string_agg   ║
╠═════╬════════════════╣
║  1  ║ 1              ║
║  2  ║ 1,2            ║
║  6  ║ 1,2,3,6        ║
║  9  ║ 1,3,9          ║
║ 99  ║ 1,3,9,11,33,99 ║
╚═════╩════════════════╝