Wiki source for SqlInstrunctions


Show raw source

=====SQL=====

Dieses Dokument ist eine Sammlung meiner Notizen zu SQL aus dem Jahre 2001. Die Beispiele wurden vorwiegend mit Oracle 8 ausprobiert. Einige Anweisungen funktionieren auch mit MySQL.

===Anzeigen (select)===

Alle Records der Tabelle TEST anzeigen
%%(sql)select * from TEST%%

Alle Records der Tabelle TEST anzeigen, jedoch nur die Spalten VORNAME und NACHNAME
%%(sql)select VORNAME, NACHNAME from TEST %%

Records mit bestimmten Wertebereich auswählen
%%(sql)
select * from TEST where NUMMER >= 123 And ZAHL > 2
select * from TEST where NUMMER >= 123 Or ZAHL > 2
select * from TEST where NUMMER >= 123 And Not ZAHL > 2
%%

Alle Records mit der Spalte NUMMER im Wertebereich 10 bis 20
%%(sql)select * from TEST where NUMMER between 10 and 20%%

Alle Namen ab M anzeigen
%%(sql)select * from TEST where NAME >= ‘M‘%%

Keine doppelten Vornamen
%%(sql)select distinct VORNAME from TEST%%

Anzahl der Datensätze
%%(sql)select count(*) from TEST%%

Anzahl der verschiedenen Vornamen
%%(sql)select count(distinct VORNAME) from TEST%%

Mit mehreren Recordsets arbeiten
%%(sql)select rsa.KUNDENNR from TEST_1 rsa, TEST_2 rsb where rsa.NAME=rsb.NAME %%

Rechnen
%%(sql)select (BRUTTO / 1.16) as NETTO from TEST%%

Liefert alle NUMMERN nach einem bestimmten Muster z.B. 101, 102, 1023, ...
%%(sql)select NUMMER from TEST where NUMMER like ‘10%‘%%

Sortieren zuerst VORNAME dann NACHANME
%%(sql)select * from TEST order by VORNAME, NACHNAME%%

Sortieren umgekehrte Reihenfolge
%%(sql)select * from TEST order by NUMMER desc%%

===Ändern (update)===

Ändern der Felder NUMMER und VORNAME des Records mit der ID 735
%%(sql)update TEST set NUMMER = 10, VORNAME = ‘Andreas‘ where ID = 735%%

===Einfügen (insert)===

Einfügen eines neuen Records in Test mit Werten für NUMMER und NAME
%%(sql)insert into TEST NUMMER, NAME values 10, ‘Andreas‘%%


===Löschen (delete)===

Löschen eines Records mit bestimmter ID
%%(sql)delete from TEST where ID=56%%


===Sonstiges (speziell Oracle 8)===

Feldnamen und Feldtypen einer Tabelle
%%(oracle8)desc TEST%%

Öffnen und Schließen einer Sitzung
%%(oracle8)commit%%

Alle Änderungen innerhalb einer Sitzung rückgängig machen
%%(oracle8)rollback%%

Felder einer Tabelle hinzufügen
%%(oracle8)
alter table TEST add
( WERT NUMBER(10,2)
NAME VARCHAR2(30)
ALTER NUMBER(3)
)
%%

Runden
%%(oracle8)ROUND(VALUE, [NACHKOMMASTELLEN])%%

Abschneiden
%%(oracle8)TRUNC(VALUE, [NACHKOMMASTELLEN])%%

Immer aufrunden
%%(oracle8)CEIL(VALUE)%%

Minimum und Maximum
%%(oracle8)
MAX(VALUE)
MIN(VALUE)
%%

Liefert einen Teil einer Zeichenkette
%%(oracle8)substr(string, start, länge)%%

Länge
%%(oracle8)length()%%

Ersetzt existing_string durch replacemant_string falls existing_string in string vorhanden
%%(oracle8)replace(string, existing_string, replacemant_string)%%

Zeichnfolgen von links oder rechts mit n Zeichenketten (pad_string) auf
%%(oracle8)
lpad(string, n, pad_string)
rpad(string, n, pad_string)
%%

Leerzeichen links oder rechts abschneiden
%%(oracle8)
ltrim()
rtrim()
%%

Lowercase und Uppercase
%%(oracle8)
lower()
upper()
%%

Erster Buchstabe groß, Rest klein
%%(oracle8)initcap()%%

Spaltenname der immer das Systemdatum liefert
%%(oracle8)sysdate%%

Typenkonvertierung
%%(oracle8)
to_number()
to_char(value, format)
to_char(100.233, ‘9,999.99 DM‘) liefert 100.23 DM
to_date
%%

Liefert einen Standardwert, wenn NULL
%%(oracle8)nvl(spalte, wert_wenn_null)%%

%%(oracle8)
ascii()


decode(Day, 1, ‘Mo‘, 2, ‘Di‘ )
%%



----
Siehe auch {{backlinks}}
Valid XHTML :: Valid CSS: :: Powered by WikkaWiki