Google
[IT] SELECT, esempi

SELECT, esempi
  •   select * from tab 
    E' un classico per vedere quali tabelle sono presenti nel db.
  •   select * from tabs
    Assolutamente analogo al precedente, tranne per il fatto che le informazioni restituite sono molte di piu'.
  •   select trim(' 45   ')+10 from dual
    Cast automatico. Restituisce: 55
  •   select ' 45 '-' 8 '+10 from dual
    Cast automatico. Restituisce: 47
  •   select substr('65401'+520,3,2)/2 from dual
    Cast automatico. Restituisce: 46
    1) '65401'+520=65921; 2) substr('65921',3,2)='92'; 3) '92'/2=46

  •   select trim(null) from dual
      select trim(null)||null from dual
      select substr(trim(null)||null-null*null/null,null) from dual
    Cast automatico. Restituisce: null, per ognuna delle tre query.
    Mix di cast automatici ed operazioni su valori nulli. Attenzione che la divisione per null non provoca errore, ma la divisione per 0 si'.

  •   select count(*), 'forum vendite' from forum_vendite where nome is null
      union
      select count(*), 'forum acquisti' from forum_acquisti where nome is null
    Tabelle con nomi inventati (dei forum vendite ed acquisti potrebbero essere realizzati in altro modo...). Il risultato potrebbe essere il seguente:
    [(8, 'forum vendite'), (14, 'forum_acquisti')]

  •   select mia_sequenza.currval as id from dual
    Posto che mia_sequenza sia una sequenza, ottengo il valore corrente della sequenza stessa. Per ottenere il successivo "mia_sequenza.nextval".
  •   select count(*), tipo_merce from merci group by tipo_merce
    Conto quanti elementi di una particolare "merce" sono presenti nella tabella "merci". Grazie al "group by" non ho duplicati.
  •   select to_char(null,'DD/MM/YYYY') as data_prova from dual
    Restituisce null.
  •   select (
        select (
          select count(*) from messaggi_forum where id=24
        ) as numero_messaggi from dual
      ) as farsi_del_male from dual
    Giusto per fare un po' di scena... e di casino.
Home Giansante Gabriele (c) 1999-2006