Az alábbiakban felsoroljuk az állásinterjúk során a leggyakrabban feltett SQL kérdéseket.
Ezek megértésével jobban fel lehet készülni a közelgő technikai interjúkra.
Mi az a belső csatlakozás az SQL-ben?
Ez az alapértelmezett típusú csatlakozás, ha nincs megadva csatlakozás. Visszaadja az összes sort, amelyben legalább egy találat van mindkét táblában.
SELECT * FROM A x JOIN B y ON y.aId = x.Id
Mi az a bal oldali csatlakozás az SQL-ben?
A bal oldali csatlakozás az összes sort a bal oldali táblázatból adja vissza, az egyező sorokat pedig a jobb oldali táblázatból. A bal oldali táblázat sorai akkor is visszatérnek, ha a jobb táblázatban nem volt egyezés. A bal oldali táblázat sorai, amelyek nem egyeznek a jobb táblázatban, null
a jobb tábla értékeire vonatkoznak.
SELECT * FROM A x LEFT JOIN B y ON y.aId = x.Id
Mi az a jobb csatlakozás az SQL-ben?
A jobb oldali csatlakozás az összes sort a jobb oldali táblázatból adja vissza, az egyező sorokat pedig a bal oldali táblázatból. A bal oldali csatlakozással szemben ez visszaadja a jobb oldali táblázat összes sorát, még akkor is, ha a bal oldali táblázatban nincs egyezés. A jobb oldali táblázat azon sorai, amelyeknek nincs egyezése a bal oldali táblázatban, a bal null
oldali oszlopok értékeit tartalmazzák.
SELECT * FROM A x RIGHT JOIN B y ON y.aId = x.Id
Mi az a teljes csatlakozás az SQL-ben?
A teljes csatlakozás visszaadja azokat a sorokat, amelyeknek egyezése van az egyik táblázatban. Tehát, ha vannak olyan sorok a bal oldali táblázatban, amelyeknek nincsenek egyezései a jobb oldali táblázatban, akkor ezek is szerepelnek. Amellett, hogy a jobb oldali táblázatban vannak olyan sorok, amelyeknek nincsenek egyezései a bal oldali táblázatban, azokat is figyelembe vesszük.
SELECT Customers.CustomerName, Orders.OrderID FROM Customers FULL OUTER JOIN Orders ON Customers.CustomerID=Orders.CustomerID ORDER BY Customers.CustomerName
Mi az eredménye a következő parancsnak?
DROP VIEW view_name
Itt hiba lesz, mert nem tudunk DML műveletet végrehajtani egy nézetben.
Végrehajthatunk visszagörgetést az ALTER parancs használata után?
Nem, mert az ALTER egy DDL parancs, és az Oracle szerver automatikus COMMIT műveletet hajt végre, amikor a DDL utasításokat végrehajtják.
Melyik az egyetlen korlát, amely az oszlopok szintjén érvényesíti a szabályokat?
A NULL az egyetlen korlát, amely oszlop szinten működik.
Mik az áloszlopok az SQL-ben? Mondjon néhány példát?
Az áloszlop egy olyan függvény, amely a rendszer által generált értéket adja vissza. Ennek az az oka, hogy így ismerik, mert az áloszlop egy Oracle hozzárendelt érték, amelyet ugyanabban az összefüggésben használnak, mint egy Oracle adatbázis-oszlopot, de nincs tárolva a lemezen.
ROWNUM, ROWID, USER, CURRVAL, NEXTVAL etc.
Hozzon létre egy felhasználót my723acct a kmd26pt jelszóval. Használja a PO8 által biztosított felhasználói adatokat és ideiglenes adattáblázatokat, és biztosítson ennek a felhasználónak 10 millió tárhelyet a felhasználói adatokban és 5 millió tárhelyet az ideiglenes_adatokban.
CREATE USER my723acct IDENTIFIED BY kmd26pt DEFAULT TABLESPACE user_data TEMPORARY TABLESPACE temporary_data QUOTA 10M on user_data QUOTA 5M on temporary_data
Hozzon létre szerepkör- táblákat és_nézetek.
CREATE ROLE role_tables_and_views
Adja meg az előző kérdés szerepének az adatbázishoz való csatlakozás, valamint a táblák és nézetek létrehozásának jogosultságait.
Az adatbázishoz való csatlakozás jogosultsága a CREATE SESSION A tábla létrehozásának a CREATE TABLE jogosultsága A nézet létrehozásának a CREATE VIEW
GRANT Create session, create table, create view TO role_tables_and_views
Adja meg a kérdésben az előző szerepet az anny és rita felhasználóknak
GRANT role_tables_and_views TO anny, rita
Hozzon létre egy felhasználót my723acct a kmd26pt jelszóval. Használja a PO8 által biztosított felhasználói adatokat és ideiglenes adattáblázatokat, és biztosítson ennek a felhasználónak 10 millió tárhelyet a felhasználói adatokban és 5 millió tárhelyet az ideiglenes_adatokban.
CREATE USER my723acct IDENTIFIED BY kmd26pt DEFAULT TABLESPACE user_data TEMPORARY TABLESPACE temporary_data QUOTA 10M on user_data QUOTA 5M on temporary_data
Hozzon létre szerepkör- táblákat és_nézetek.
CREATE ROLE role_tables_and_views
Adja meg az előző kérdés szerepének az adatbázishoz való csatlakozás, valamint a táblák és nézetek létrehozásának jogosultságait.
Az adatbázishoz való csatlakozás jogosultsága a CREATE SESSION A tábla létrehozásának a CREATE TABLE jogosultsága A nézet létrehozásának a CREATE VIEW
GRANT Create session, create table, create view TO role_tables_and_views
Adja meg a kérdésben az előző szerepet az anny és rita felhasználóknak.
GRANT role_tables_and_views TO anny, rita
Írjon egy parancsot a rita felhasználó jelszavának megváltoztatásáról abcd-ről dfgh-re.
ALTER USER rita IDENTIFIED BY dfgh
The users rita and anny do not have SELECT privileges on the table INVENTORY that was created by SCOTT. Write a command to allow SCOTT to grant the users SELECT priviliges on these tables.
GRANT select ON inventory TO rita, anny
User rita has been transferred and no longer needs the privilege that was granted to her through the role role tables and_views. Write a command to remove her from her previous given privileges except that she still could connect to the database.
REVOKE select ON scott.inventory FROM rita REVOKE create table, create view FROM rita
The user rita who was transferred is now moving to another company. Since the objects that she created is of no longer use, write a commmand to remove this user and all her objects.
Here CASCADE option is necessary to remove all the objects of the user in the database.
DROP USER rita CASCADE ### User rita has been transferred and no longer needs the privilege that was granted to her through the role role_tables_and_views. Write a command to remove her from her previous given priviliges except that she still could connect to the database. ``` sql REVOKE select ON scott.inventory FROM rita REVOKE create table, create view FROM rita
The user rita who was transferred is now moving to another company. Since the objects that she created is of no longer use, write a commmand to remove this user and all her objects.
Here CASCADE option is necessary to remove all the objects of the user in the database.
DROP USER rita CASCADE
Write SQL query to find the nth highest salary from table.
SELECT TOP 1 Salary FROM ( SELECT DISTINCT TOP N Salary FROM Employee ORDER BY Salary DESC ) ORDER BY Salary ASC