freeCodeCamp/guide/russian/sql/sql-interview-questions/index.md

9.6 KiB
Raw Blame History

title localeTitle
SQL Interview Questions Вопросы по SQL-интервью

Вопросы по SQL-интервью

Что такое внутреннее соединение в SQL?

Это тип соединения по умолчанию, если не указано соединение. Он возвращает все строки, в которых есть как минимум одно совпадение в обеих таблицах.

SELECT * FROM A x JOIN B y ON y.aId = x.Id 

Что такое левое соединение в SQL?

Левое соединение возвращает все строки из левой таблицы и сопоставленные строки из правой таблицы. Строки в левой таблице будут возвращены, даже если в правой таблице не было соответствия. Строки из левой таблицы без соответствия в правой таблице будут иметь null для значений правой таблицы.

SELECT * FROM A x LEFT JOIN B y ON y.aId = x.Id 

Что такое правильное соединение с SQL?

Правильное соединение возвращает все строки из правой таблицы и сопоставленные строки из левой таблицы. Напротив левого соединения это приведет к возврату всех строк из правой таблицы, даже если в левой таблице нет совпадений. Строки в правой таблице, не имеющие совпадений в левой таблице, будут иметь null значения для столбцов левой таблицы.

SELECT * FROM A x RIGHT JOIN B y ON y.aId = x.Id 

Что такое полное присоединение к SQL?

Полное соединение возвращает все строки, для которых есть совпадение в любой из таблиц. Поэтому, если в левой таблице есть строки, которые не имеют совпадений в правой таблице, они будут включены. Также, если в правой таблице есть строки, которые не имеют совпадений в левой таблице, они будут включены.

SELECT Customers.CustomerName, Orders.OrderID 
 FROM Customers 
 FULL OUTER JOIN Orders 
 ON Customers.CustomerID=Orders.CustomerID 
 ORDER BY Customers.CustomerName 

Что является результатом следующей команды?

`` ` DROP VIEW view_name

Here it'll be an error because we can't perform a DML operation on a view. 
 
 ### Can we perform a rollback after using ALTER command? 
 No, because ALTER is a DDL command and Oracle server performs an automatic COMMIT when the DDL statements are executed. 
 
 
 ### Which is the only constraint that enforces rules at column level? 
 NOT NULL is the only constraint that works at the column level. 
 
 
 ### What are the pseudocolumns in SQL? Give some examples? 
 A pseudocolumn is a function which returns a system generated value. The reason it is known as so because a pseudocolumn is an Oracle assigned value used in the same context as an Oracle database column but not stored on disk. 

Вот некоторые примеры: ROWNUM, ROWID, USER, CURRVAL, NEXTVAL и т. Д. `` `

Создайте пользователя my723acct с паролем kmd26pt. Используйте пользовательские данные и временные табличные пространства данных, предоставляемые PO8, и предоставите этому пользователю 10M пространства для хранения в пользовательских данных и 5M пространства для хранения во временныханных.

sql CREATE USER my723acct IDENTIFIED BY kmd26pt DEFAULT TABLESPACE user_data TEMPORARY TABLESPACE temporary_data QUOTA 10M on user_data QUOTA 5M on temporary_data

Создайте таблицы роли ролей and_views.

sql CREATE ROLE role_tables_and_views

Предоставьте роли предыдущего вопроса привилегии для подключения к базе данных и привилегии для создания таблиц и представлений.

Привилегия подключения к базе данных - CREATE SESSION Привилегия создания таблицы - CREATE TABLE Привилегия создания представления - CREATE VIEW sql GRANT Create session, create table, create view TO role_tables_and_views

Предоставьте предыдущую роль в вопросе пользователям anny и rita

sql GRANT role_tables_and_views TO anny, rita

Создайте пользователя my723acct с паролем kmd26pt. Используйте пользовательские данные и временные табличные пространства данных, предоставляемые PO8, и предоставите этому пользователю 10M пространства для хранения в пользовательских данных и 5M пространства для хранения во временныханных.

sql CREATE USER my723acct IDENTIFIED BY kmd26pt DEFAULT TABLESPACE user_data TEMPORARY TABLESPACE temporary_data QUOTA 10M on user_data QUOTA 5M on temporary_data

Создайте таблицы роли ролей and_views.

sql CREATE ROLE role_tables_and_views

Предоставьте роли предыдущего вопроса привилегии для подключения к базе данных и привилегии для создания таблиц и представлений.

Привилегия подключения к базе данных - CREATE SESSION Привилегия создания таблицы - CREATE TABLE Привилегия создания представления - CREATE VIEW sql GRANT Create session, create table, create view TO role_tables_and_views

Предоставьте предыдущую роль в вопросе пользователям anny и rita

sql GRANT role_tables_and_views TO anny, rita

Напишите команду для изменения пароля пользователя rita от abcd до dfgh

sql ALTER USER rita IDENTIFIED BY dfgh

Пользователи rita и anny не имеют привилегий SELECT в таблице INVENTORY, созданной SCOTT. Напишите команду, чтобы позволить SCOTT предоставлять пользователям SELECT priviliges в этих таблицах.

sql GRANT select ON inventory TO rita, anny

Пользователь rita был передан и больше не нуждается в привилегии, предоставленной ей через таблицы ролевой роли and_views. Напишите команду, чтобы удалить ее из ее предыдущих заданий, за исключением того, что она все еще могла подключиться к базе данных.

sql REVOKE select ON scott.inventory FROM rita REVOKE create table, create view FROM rita

Пользователь rita, который был переведен, теперь переезжает в другую компанию. Поскольку созданные ею объекты больше не используются, напишите комманд, чтобы удалить этого пользователя и все ее объекты.

Здесь параметр CASCADE необходим для удаления всех объектов пользователя в базе данных. `` `sql
DROP USER Рита КАСКАД

Пользователь rita был передан и больше не нуждается в привилегии, предоставленной ей через таблицы ролевой роли and_views. Напишите команду, чтобы удалить ее из ее предыдущих заданий, за исключением того, что она все еще могла подключиться к базе данных.

sql REVOKE select ON scott.inventory FROM rita REVOKE create table, create view FROM rita

Пользователь rita, который был переведен, теперь переезжает в другую компанию. Поскольку созданные ею объекты больше не используются, напишите комманд, чтобы удалить этого пользователя и все ее объекты.

Здесь параметр CASCADE необходим для удаления всех объектов пользователя в базе данных. `` `sql
DROP USER Рита КАСКАД

### Write SQL query to find the nth highest salary from table. 

SQL
ВЫБЕРИТЕ ТОП 1 Зарплата ОТ ( SELECT DISTINCT TOP N Зарплата ОТ сотрудника ЗАКАЗАТЬ Зарплата DESC ) ЗАКАЗАТЬ ЗАРУБЕЖЬЮ ASC `` `