diff --git a/select.go b/select.go
index 7037443..eb2c1e0 100644
--- a/select.go
+++ b/select.go
@@ -208,6 +208,15 @@
 	return data.ToSql()
 }
 
+func (b SelectBuilder) MustSql() (string, []interface{}, error) {
+	data := builder.GetStruct(b).(selectData)
+	sql, args, err := data.ToSql()
+	if err != nil {
+		panic(err)
+	}
+	return sql, args, err
+}
+
 func (b SelectBuilder) toSqlRaw() (string, []interface{}, error) {
 	data := builder.GetStruct(b).(selectData)
 	return data.toSqlRaw()
diff --git a/select_test.go b/select_test.go
index 72c074c..83bcc14 100644
--- a/select_test.go
+++ b/select_test.go
@@ -176,6 +176,18 @@
 	assert.Equal(t, "SELECT * FROM foo WHERE x = $1 AND NOT EXISTS ( SELECT * FROM bar WHERE y = $2 )", outerSql)
 }
 
+func TestMustSql(t *testing.T) {
+	func() {
+		defer func() {
+			if r := recover(); r == nil {
+				t.Errorf("TestUserFail should have panicked!")
+			}
+		}()
+		// This function should cause a panic
+		Select().From("foo").MustSql()
+	}()
+}
+
 func TestEmptyWhereClause(t *testing.T) {
 	sql, _, err := Select("*").From("users").ToSql()
 	assert.NoError(t, err)
