Hm, kdyz nereknes presne otazku... Najdi si ji v textu sam :)
tabulka, slozeni sloupcu: nazev (typ(delka))
--- DEPT ---
DEPT_NO (NOT NULL,NUMBER(2))
DNAME (VARCHAR2(14))
LOC (VARCHAR2(13))
--- EMPLOYEE ---
EMP_NO (NOT NULL,NUMBER(4))
ENAME (VARCHAR2(10))
JOB (VARCHAR2(9))
MANAGER (NUMBER(4))
HIREDATE (DATE)
Sal (NUMBER(7,2))
Otazky
a, List the highest salary paid for each job
Seznam nejvyšší plat za každou práci. (translate.google.com)
Nevim, nechce se mi premyslet. Bude to slozitejsi dotaz.
b, Find the 5th maximum salary
paty maximální plat
Ja bych si vybral treba 5 max platu a pak vybral posledni bud pres php nebo nad tim postavil dalsi SELECT.
Je pekne hloupe pojmenovat sloupec 'Sal' ale v textu o nem mluvit jako o 'Salary'.
SELECT
Sal
FROM
EMPLOYEE
ORDER BY
Sal DESC
LIMIT 5
c, Select the duplicate records (records, which are inserted, that already exist) in the EMPLOYEE table
To je takovy slozitejsi dotaz ze 2-3 selectu. Tez se mi nechce. (google = GROUP BY, HAVING)
d, List all the Employees who have at least one person reporting to them
"Uveďte všechny zaměstnance, kteří mají alespoň jednu osobu, která jim podává zprávu"
Vyber vsechny osoby, ktere podavaji zpravy, prirad k nim zamestnance a udelej nad tim SELECT DISTINCT, aby vybral jen jeden radek.
Jinymi slovy, seznam podrizenych, osoby, ktere maji manager id <> 0
e, Write a query to list the length of service of the Employees ( of the form n years and m months)
"Napište dotaz, kde uvedete délku služby zaměstnanců (formuláře n let a m měsíců)"
Vyber vsechny zamestnance a pridej k nim sloupec datum-hire/roky, datum-hire - (datum-hire/roky) /mesice
SELECT
`ENAME`
SUB(TIME_FORMAT(NOW(), “Y”) - TIME_FORMAT(`HIREDATE`, “Y”)
FROM
`EMPLOYEE`
...
musim neco delat, ted