scala.dbc.statement
class Select

[source: `scala/dbc/statement/Select.scala`]

`abstract` `class` Select
  `extends` Relation

  A statement that when executed on a database will return a relation. The returned relation will be a subset of a table in the database or a jointure between such subsets.

Method Summary
`abstract def` | fromClause : List[Relation] Defines the relations from which the query will obtain its data.
`abstract def` | groupByClause : Option[List[Expression]] Defines the grouping of the returned relation's tuples. One tuple is returned for every group. The value of `selectList` must use aggregate functions for calculation.
`abstract def` | havingClause : Option[Expression] Defines conditions that must be true in the returned relation's tuples. The value expression must return a boolean can only refer to fields that are grouped or to any field from inside an aggregate function.
`abstract def` | selectList : List[DerivedColumn] Defines the output fields that a tuple in the returned relation will contain, and their content with respect to the tables in the database. If the fields are not specified (that is the list is empty), all possible input fields will be returned. ### Compatibility notice SQL's qualified asterisk select sublist is not available.
`abstract def` | setQuantifier : Option[SetQuantifier] Defines if duplicated tuples should be removed from the returned relation. ### Compatibility notice Some DBMS (PostgreSQL) allow uniqueness constrains on an arbitrary field instead of the entire tuple.
`def` | sqlInnerString : String A SQL-99 compliant string representation of the relation sub- statement. This only has a meaning inside a query.
`def` | sqlString : String A SQL-99 compliant string representation of the select statement.
`abstract def` | whereClause : Option[Expression] Defines condition that must be true in the returned relation's tuples. This value expression must return a boolean or boolean-compatible value. This condition is applied before any GROUP BY clause.

Methods inherited from Relation
fieldTypes (abstract), isCompatibleType, typeCheck, sqlTypeString, execute, execute

Methods inherited from AnyRef
getClass, hashCode, equals, clone, toString, notify, notifyAll, wait, wait, wait, finalize, ==, !=, eq, ne, synchronized

Methods inherited from Any
==, !=, isInstanceOf, asInstanceOf

Method Details

`abstract` `def` setQuantifier : Option[SetQuantifier]

  Defines if duplicated tuples should be removed from the returned relation.

  ### Compatibility notice

  Some DBMS (PostgreSQL) allow uniqueness constrains on an arbitrary field instead of the entire tuple.

`abstract` `def` selectList : List[DerivedColumn]

  Defines the output fields that a tuple in the returned relation will contain, and their content with respect to the tables in the database. If the fields are not specified (that is the list is empty), all possible input fields will be returned.

  ### Compatibility notice

  SQL's qualified asterisk select sublist is not available.

`abstract` `def` fromClause : List[Relation]

  Defines the relations from which the query will obtain its data.

`abstract` `def` whereClause : Option[Expression]

  Defines condition that must be true in the returned relation's tuples. This value expression must return a boolean or boolean-compatible value. This condition is applied before any GROUP BY clause.

`abstract` `def` groupByClause : Option[List[Expression]]

  Defines the grouping of the returned relation's tuples. One tuple is returned for every group. The value of `selectList` must use aggregate functions for calculation.

`abstract` `def` havingClause : Option[Expression]

  Defines conditions that must be true in the returned relation's tuples. The value expression must return a boolean can only refer to fields that are grouped or to any field from inside an aggregate function.

`` `def` sqlString : String

  A SQL-99 compliant string representation of the select statement.

Overrides
  Relation.sqlString

`` `def` sqlInnerString : String

  A SQL-99 compliant string representation of the relation sub- statement. This only has a meaning inside a query.

Overrides
  Relation.sqlInnerString