Class: Sequel::SQL::JoinClause

Inherits:
SpecificExpression show all
Defined in:
lib/sequel_core/sql.rb

Overview

Represents an SQL JOIN clause, used for joining tables.

Direct Known Subclasses

JoinOnClause, JoinUsingClause

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from Expression

#lit

Constructor Details

#initialize(join_type, table, table_alias = nil) ⇒ JoinClause

Create an object with the given conditions and default value.



638
639
640
# File 'lib/sequel_core/sql.rb', line 638

def initialize(join_type, table, table_alias = nil)
  @join_type, @table, @table_alias = join_type, table, table_alias
end

Instance Attribute Details

#join_typeObject (readonly)

The type of join to do



628
629
630
# File 'lib/sequel_core/sql.rb', line 628

def join_type
  @join_type
end

#tableObject (readonly)

The actual table to join



631
632
633
# File 'lib/sequel_core/sql.rb', line 631

def table
  @table
end

#table_aliasObject (readonly)

The table alias to use for the join, if any



634
635
636
# File 'lib/sequel_core/sql.rb', line 634

def table_alias
  @table_alias
end

Instance Method Details

#to_s(ds) ⇒ Object

Delegate the creation of the resulting SQL to the given dataset, since it may be database dependent.



644
645
646
# File 'lib/sequel_core/sql.rb', line 644

def to_s(ds)
  ds.join_clause_sql(self)
end