Heim  >  Artikel  >  Computer-Tutorials  >  Üben Sie Fragen zur ORACLE-Datenbank

Üben Sie Fragen zur ORACLE-Datenbank

PHPz
PHPznach vorne
2024-01-23 21:48:05596Durchsuche

Üben Sie Fragen zur ORACLE-Datenbank

Übungsfragen zur Oracle-Datenbank

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

(1) Wählen Sie die Abteilungsnr. aus der Abteilung aus, in der sich die Abteilungsnr. befindet (wählen Sie die Abteilungsnr. aus em);

(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

7.Wählen Sie den Namen des Mitarbeiters und das Gehalt aus der Tabelle aus, in der das Gehalt angegeben ist. 8.Wählen Sie den Namen des Mitarbeiters und das Gehalt aus der Tabelle aus, in der das Gehalt>Durchschnitt (Gehalt) sortiert ist.

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

TABELLE SC ERSTELLEN(

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:docexcel.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen