SQL query

di il
4 risposte

SQL query

Salve a tutti,

premetto che sono un novellino di SQL e sto studiando, per sapere personale, da una guida trovata online.

Mi sono imbattuto su queste query che però non sono spiegate.

Qualcuno mi potrebbe spiegare cosa fanno?

SELECT * FROM IMPIEGATI WHERE MATRICOLA IN (7902, 7788, 7900);
WHERE STIPENDIO BETWEEN 2000 AND 3000;
WHERE MATRICOLA LIKE ‘7_4’;
WHERE DATA_ASS LIKE ‘82%’
WHERE NOME_IMP LIKE’_L%’;
WHERE SUP IS NULL;

SELECT * FROM IMPIEGATO
WHERE NUM DIPART != 10 (o <>);
WHERE NUM DIPART NOT IN (20,30);
WHERE MANSIONE NOT LIKE ‘D%’;
WHERE NOME_IMP NOR LIKE ‘_I%’;
WHERE SUP IS NOT NULL;
WHERE STIPENDIO NOT BEETWEEN 5000 AND 10000

4 Risposte

  • Re: SQL query

    Sono abbastanza esplicite ... la prima ad esempio

    SELECT * FROM IMPIEGATI WHERE MATRICOLA IN (7902, 7788, 7900);

    seleziona tutte le righe della tabella impiegati in cui il campo matricola corrisponde ad uno dei tre valori indicati nell'insieme seguente ...
  • Re: SQL query

    oregon ha scritto:


    Sono abbastanza esplicite ... la prima ad esempio

    SELECT * FROM IMPIEGATI WHERE MATRICOLA IN (7902, 7788, 7900);

    seleziona tutte le righe della tabella impiegati in cui il campo matricola corrisponde ad uno dei tre valori indicati nell'insieme seguente ...
    Ok su alcune cose ci sono, ma su altre o dei dubbi.
    
    SELECT * FROM IMPIEGATI WHERE MATRICOLA IN (7902, 7788, 7900); --> qui ci sono
    WHERE STIPENDIO BETWEEN 2000 AND 3000; --> qui anche 
    WHERE MATRICOLA LIKE ‘7_4’; --> significa che nel numero di matricola devono comparire quei due numeri o che il primo deve essere un 7 e l'ultimo 4?
    WHERE DATA_ASS LIKE ‘82%’ -->che sono nati nell'82?
    WHERE NOME_IMP LIKE’_L%’; --> che l'ultima lettere del nome è una l?
    WHERE SUP IS NULL; --> ?
    
    
    SELECT * FROM IMPIEGATO
    WHERE NUM DIPART != 10 (o <>); --> non deve appartenre al dipartimento 10
    WHERE NUM DIPART NOT IN (20,30); --> ma neanche al 20 e al 30?
    WHERE MANSIONE NOT LIKE ‘D%’; --> no ndeve avere una mansione che inizi con la d?
    WHERE NOME_IMP NOR LIKE ‘_I%’;--> il nome non deve finire con la i?
    WHERE SUP IS NOT NULL;--->?
    WHERE STIPENDIO NOT BEETWEEN 5000 AND 10000 --> lo stipendio non deve essere compreso tra 5000 e 10000?
    
  • Re: SQL query

    CRTVLB ha scritto:


    su altre (h)o dei dubbi.
    WHERE MATRICOLA LIKE ‘7_4’; Matricola deve essere di 3 caratteri di cui il primo è un 7 e l'ultimo un 4

    WHERE DATA_ASS LIKE ‘82%’ Perché nati? Il campo si chiama DATA_ASS ... da cosa capisci che sia il campo di nascita? Comunque il dato inizia per 82 ma può avere un qualsiasi numero di caratteri dopo l'82

    WHERE NOME_IMP LIKE’_L%’; Un carattere, il secondo è una L e dopo possono esserci un qualsiasi numero di caratteri

    WHERE SUP IS NULL; --> In cui il campo SUP sia NULL

    WHERE NOME_IMP NOR LIKE ‘_I%’; Non deve iniziare con un qualsiasi carattere, il secondo essere una I e finire in qualsiasi modo (per esempio non deve essere GIORGIO ma può essere IRENE)
  • Re: SQL query

    oregon ha scritto:


    CRTVLB ha scritto:


    su altre (h)o dei dubbi.
    WHERE MATRICOLA LIKE ‘7_4’; Matricola deve essere di 3 caratteri di cui il primo è un 7 e l'ultimo un 4

    WHERE DATA_ASS LIKE ‘82%’ Perché nati? Il campo si chiama DATA_ASS ... da cosa capisci che sia il campo di nascita? Comunque il dato inizia per 82 ma può avere un qualsiasi numero di caratteri dopo l'82

    WHERE NOME_IMP LIKE’_L%’; Un carattere, il secondo è una L e dopo possono esserci un qualsiasi numero di caratteri

    WHERE SUP IS NULL; --> In cui il campo SUP sia NULL

    WHERE NOME_IMP NOR LIKE ‘_I%’; Non deve iniziare con un qualsiasi carattere, il secondo essere una I e finire in qualsiasi modo (per esempio non deve essere GIORGIO ma può essere IRENE)
    Ti ringrazio mi è tutto più chiaro adesso.
Devi accedere o registrarti per scrivere nel forum
4 risposte