Verwenden Sie die emp-Tabelle unter dem Scott/Tiger-Benutzer, um die folgenden Übungen durchzuführen. Der Aufbau der Tabelle wird wie folgt erklärt
Der Inhalt des Tabellenfeldes „emp-Mitarbeiter“ lautet wie folgt:
Empno-Mitarbeiternummer
Namen des Mitarbeiters nennen
Job Arbeit
mgr überlegene Nummer
Hiredate Datum der Einstellung
Salärgehalt
Kommission
Abteilungsnr. Abteilungsnummer
1.Wählen Sie alle Mitarbeiter der Abteilung 30 aus.
2. Listen Sie die Namen, Nummern und Abteilungsnummern aller Sachbearbeiter (CLERK) auf.
3. Finden Sie Mitarbeiter, deren Provisionen höher sind als ihre Gehälter.
4. Finden Sie die Mitarbeiter, deren Provision mehr als 60 % ihres Gehalts beträgt.
5. Finden Sie die detaillierten Informationen aller Manager (MANAGER) in Abteilung 10 und aller Sachbearbeiter (CLERK) in Abteilung 20 heraus.
6. Hier finden Sie detaillierte Informationen zu allen Managern (MANAGER) in Abteilung 10, allen Angestellten (CLERK) in Abteilung 20 und allen Mitarbeitern, die weder Manager noch Angestellte sind, deren Gehalt jedoch mindestens 2000 beträgt.
7. Entdecken Sie die verschiedenen Jobs von Provisionsmitarbeitern.
8. Finden Sie Mitarbeiter, die keine oder weniger als 100 Provisionen verlangen.
9. Finden Sie alle Mitarbeiter, die am 3. bis letzten Tag jedes Monats beschäftigt sind.
10. Finden Sie Mitarbeiter, die vor mehr als 12 Jahren eingestellt wurden.
11. Zeigen Sie die Namen aller Mitarbeiter mit Großbuchstaben an.
12. Geben Sie den Namen des Mitarbeiters mit genau 5 Zeichen an.
13.Zeigen Sie die Namen der Mitarbeiter ohne „R“ an.
14. Zeigen Sie die ersten drei Zeichen aller Mitarbeiternamen an.
15. Zeigen Sie die Namen aller Mitarbeiter an, ersetzen Sie alle „A“ durch ein
16. Zeigen Sie die Namen und Beschäftigungsdaten von Mitarbeitern mit 10 Dienstjahren an.
17. Mitarbeiterdetails anzeigen, sortiert nach Namen.
18. Zeigen Sie die Namen und Beschäftigungsdaten der Mitarbeiter an, wobei die ältesten Mitarbeiter anhand ihrer Dienstjahre zuerst eingestuft werden.
19. Zeigen Sie die Namen, Jobs und Gehälter aller Mitarbeiter an, sortiert nach Job in absteigender Reihenfolge oder nach Gehalt, wenn die Jobs gleich sind.
20. Zeigen Sie die Namen aller Mitarbeiter sowie das Jahr und den Monat ihres Eintritts in das Unternehmen an, sortiert nach dem Monat des Beschäftigungsdatums. Wenn die Monate gleich sind, werden die Mitarbeiter mit dem ältesten Jahr zuerst sortiert.
21. Zeigen Sie das Tagesgehalt aller Mitarbeiter an, wenn ein Monat 30 Tage beträgt, und ignorieren Sie den Rest.
22. Finden Sie alle im Februar (eines Jahres) eingestellten Mitarbeiter.
23.Geben Sie für jeden Mitarbeiter die Anzahl der Tage seit seinem Eintritt in das Unternehmen an.
24. Zeigen Sie die Namen aller Mitarbeiter an, deren Namensfeld irgendwo „A“ enthält.
25. Zeigen Sie die Dienstjahre aller Mitarbeiter in Form von Jahr, Monat und Tag an (ungefähr).
Orakelfrage(2)select empno,ename,sal from em where sal>(select sal from em where ename = 'SMITH');
(3)SELECT e.ename,d.dname from em e,dept d where e.deptno=d.deptno and e.job = 'CLERK';
(4)wählen Sie empno,ename from em where job in (select job from em where ename = 'SCOTT') ;
(5)Wählen Sie Job,Min(sal) aus der Gruppe nach Job aus;
(6)wählen Sie d.dname ,min(e.sal) aus dept d,em e
wobei d.deptno=e.deptno und e.job ='MANAGER' group by d.dname;
Oracle 11G SQL-Übungsfragen für Hausaufgaben
9. Beispiel: Die Nummer der Spalte n in t1 ist [2,3]; die Nummer der Spalte n in t2 ist [1,2,3,4]
select * from t2 where n >any(select n from t1); Ergebnis: 3,4.
Hinweis: Fragen Sie ab, welche der Zahlen in Spalte n in Tabelle t2 die größte Zahl [einschließlich Max] als die Zahl in Spalte n in Tabelle t1 ist.
select * from t2 where n = any(select n from t1); Ergebnis: 2,3.
select * from t2 where n 10.select * from t2 where n >all(select n from t1); Ergebnis: 4.
select * from t2 where n 12.SELECT columns_name(s) FROM table_name1 UNION SELECT columns_name(s) FROM table_name2; füge die Tabellen table_name1 und table_name2 ohne doppelte Spalten zusammen.
SELECT Spaltenname(n) FROM Tabellenname1 UNION ALL SELECT Spaltenname(n) FROM Tabellenname2; Verbinden Sie alle Daten in den beiden Tabellen Tabellenname1 und Tabellenname2, und es gibt Duplikate.
Eine Oracle Stored Procedure-Fragenlösung
SNO INT,
CNO varchar(10),
GRADE INT
);
INSERT INTO SC VALUES(95001, 'Math', 75);
INSERT INTO SC VALUES(95001, '中文', 92);
INSERT INTO SC VALUES(95002, 'English', 64);
INSERT INTO SC VALUES(95002, 'English', 77);
INSERT INTO SC VALUES(95003, 'Math', 85);
TABELLE SC_TOTAL ERSTELLEN(
SNO INT PRIMARY KEY,
"Mathematik" Zahl(5,2),
"Chinesische" Zahl(5,2),
"Englisch" Nummer(5,2),
Zahl „Durchschnittspunktzahl“ (5,2)
);
ERKLÄRUNG
v_row_count INT;
BEGIN
FOR sc_rec IN (SELECT * FROM SC)
LOOP
-- Stellen Sie fest, ob die Daten verfügbar sind
SELECT COUNT(*) INTO v_row_count
VON SC_TOTAL
WHERE SNO = sc_rec.SNO;
WENN v_row_count = 0 DANN
--Die Daten sind nicht vorhanden.
INSERT INTO SC_TOTAL(SNO) VALUES (sc_rec.SNO);
ENDE WENN;
-- Aktualisieren Sie basierend auf dem Kurs bestimmte Spalten.
WENN sc_rec.CNO = 'Math' DANN
UPDATE SC_TOTAL SET "MATHEMATICS" = sc_rec.GRADE WHERE SNO = sc_rec.SNO;
ELSIF sc_rec.CNO = 'Chinesisch' DANN
UPDATE SC_TOTAL SET "中文" = sc_rec.GRADE WHERE SNO = sc_rec.SNO;
ELSIF sc_rec.CNO = 'Englisch' DANN
UPDATE SC_TOTAL SET "Englisch" = sc_rec.GRADE WHERE SNO = sc_rec.SNO;
ENDE WENN;
-- Berechnen Sie die durchschnittliche Punktzahl.
UPDATE SC_TOTAL
SET „Durchschnittspunktzahl“ = (NVL („Mathematik“, 0) + NVL („Chinesisch“, 0) + NVL („Englisch“, 0))
/ (NVL2("Mathematik",1,0) + NVL2("Chinesisch",1,0) + NVL2("Englisch",1,0))
WHERE SNO = sc_rec.SNO;
ENDSCHLEIFE;
ENDE;
/
-- Datenüberprüfung.
SQL>SELECT * FROM SC_TOTAL;
SNO Mathematics Chinese English Average Score
---------- ---------- ---------- ---------- --------- -
95001 75 92 83,5
95002 77 77
95003 85 85
Das obige ist der detaillierte Inhalt vonÜben Sie Fragen zur ORACLE-Datenbank. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!