Gunakan array_agg:http://www.sqlfiddle.com/#!1/5099e/1
SELECT s.name, array_agg(g.Mark) as marks
FROM student s
LEFT JOIN Grade g ON g.Student_id = s.Id
GROUP BY s.Id
Omong-omong, jika Anda menggunakan Postgres 9.1, Anda tidak perlu mengulang kolom pada SELECT ke GROUP BY, mis. Anda tidak perlu mengulang nama siswa di GROUP BY. Anda hanya dapat GROUP BY pada kunci utama. Jika Anda menghapus kunci utama siswa, Anda perlu mengulang nama siswa di GROUP BY.
CREATE TABLE grade
(Student_id int, Mark varchar(2));
INSERT INTO grade
(Student_id, Mark)
VALUES
(1, 'A'),
(2, 'B'),
(2, 'B+'),
(3, 'C'),
(3, 'A');
CREATE TABLE student
(Id int primary key, Name varchar(5));
INSERT INTO student
(Id, Name)
VALUES
(1, 'John'),
(2, 'David'),
(3, 'Will');