/// <summary>
        /// Returns the statement as an SQL string.
        /// </summary>
        /// <param name="self">The self.</param>
        /// <param name="renderer">The renderer.</param>
        /// <returns>A string of SQL!</returns>
        public static string ToSql(this ISqlFragment self, ISqlRenderer renderer = null)
        {
            var builder = new StringBuilder();

            self.BuildSql(builder, renderer ?? new DefaultSqlRenderer());
            return(builder.ToString().Trim());
        }