SQL

From database24
Jump to navigation Jump to search

Table operation

Create

  • Create table
  • Create index
CREATE [ UNIQUE ] INDEX index
ON table (field [ASC|DESC][, field [ASC|DESC], ...])
[WITH { PRIMARY | DISALLOW NULL | IGNORE NULL }]

Alter

  • Alter table / column


Selection

Select

The SELECT statement is used to assemble fields of different tables and queries to a new result.

Examples

  • Select all fields of all records from table Table
SELECT *
  FROM Table
  • Select the two fields Field1 and Field2 from a table Table
SELECT Field1
     , Field2
  FROM Table

Inner Join

With an inner join two tables can be linked together including all records in the resulting record set, which meet the specified criteria.

Example

  • Select all fields from Table1 and Table2, where the value of Field equals in Table1 and Table2.
    SELECT Table1.*
         , Table2.*
      FROM Table1 
INNER JOIN Table2 
        ON Table1.Field = Table2.Field
  • The operator in the ON statement does not necessary have to be an equal sign.
  • The left and right side of the ON statement are not limited to a plain field value; it is possible to calculate something here.

Outer Join

Outer joins include all records from one table, while they are only displaying related fields of the other table, if matching records exist, otherwise the fields of the other table would be displayed with NULL values.

  • Left Join: Display all records from the first table and only the matching records from the second table.
  • Right Join: Display all records from the second table and only the matching records from the first table.

The "first" and "second" table is identified by the order in the SQL statement. Both outer joins are interchangeable if the order of tables is swapped or in other words: The result would be the same whether you choose to left join one table to the other or to right join the other table to the one.

Example

  • Display all records from Table1 and only the matching records from Table2
    SELECT Table1.*
         , Table2.*
      FROM Table1 
 LEFT JOIN Table2 
        ON Table1.Field = Table2.Field
  • Display only the matching records from Table1 and all records from Table2
    SELECT Table1.*
         , Table2.*
      FROM Table1 
RIGHT JOIN Table2 
        ON Table1.Field = Table2.Field

Distinct

  • DISTINCT
  • DISTINCTROW

Condition

  • WHERE
  • HAVING

Order

  • ORDER BY
  • ASC / DESC

Aggregation

  • GROUP BY
  • Sum, Min, Max, Avg, ...

Sub Select

  • IN ( SELECT ... )


Action

Create

You can create a table by "selecting into".

Examples

  • Select all records from table OldTable into table NewTable
SELECT OldTable.*
  INTO NewTable
  FROM OldTable

Insert

  • INSERT INTO
INSERT INTO tblDaten
SELECT *
FROM qryDaten;
INSERT INTO tblDaten
(Feld1, Feld2)
VALUES ('Wert1', 'Wert2');

Update

  • UPDATE

Delete

  • DELETE