SQL Flashcards
найти вторую самую высокую зарплату работника
select MAX(Salary) from Employee WHERE Salary NOT IN (select MAX(Salary) from Employee );
найти максимальную зарплату от каждого отдела.
SELECT DeptID, MAX(Salary) FROM Employee GROUP BY DeptID.
Если Интервьюер попросит вас напечатать название отдела вместо отдела ID,
SELECT DeptName, MAX(Salary) FROM Employee e
RIGHT JOIN Department d ON e.DeptId = d.DeptID
GROUP BY DeptName;
запрос для отображения текущей даты.
SELECT GetDate();
Напишите SQL запрос, чтобы напечатать имя отдельного работника у которого поле DOB составляет от 01/02/1965 до 31/11/1970.
SELECT DISTINCT EmpName FROM Employees
WHERE DOB BETWEEN ‘01/02/1965’ AND ‘31/11/1970’;
: написать SQL запрос, где найти количество сотрудников в зависимости от пола , чье поле DOB между 01/02/1965 до 31/11/1970.
SELECT COUNT(*), sex from Employees
WHERE DOB BETWEEN ‘01/02/1965’ AND ‘31/11/1970’
GROUP BY sex;
Напишите SQL запрос, чтобы найти сотрудника, чья зарплата равна или превышает 20000.
SELECT EmpName FROM Employees WHERE Salary>=20000;
Напишите SQL запрос, чтобы найти имя сотрудника, чье имя начинается с ‘M’
SELECT * FROM Employees WHERE EmpName like ‘M%’
Найти все записи о сотрудниках, содержащие слово “Роман”, независимо от того, был ли он, как РОМАН, Роман, или роман.
SELECT * from Employees WHERE UPPER(EmpName) like ‘%РОМАН%’;
Написать SQL – запрос для поиска дубликатов строк в базе данных? а затем написать SQL запрос, чтобы удалить их?
SELECT * FROM emp a
WHERE rowid = (SELECT MAX(rowid) FROM EMP b WHERE a.empno = b.empno)
DELETE FROM emp a
WHERE rowid != (SELECT MAX(rowid) FROM emp b WHERE a.empno = b.empno);
Существует таблица, которая содержит два столбца Student и Marks, вам нужно найти всех студентов, чьи оценки являются больше, чем средние оценки, т.е. список студентов выше среднего.
SELECT student, marks
from table where marks > SELECT AVG(marks) from table)
Как вы находите всех сотрудников, которые являются также менеджерами?
SELECT e.name, m.name FROM Employee e, Employee m
WHERE e.mgr_id = m.emp_id;
У вас есть композитный индекс из трех колонок, как вы обеспечиваете значение двух столбцов в WHERE на выборку? Будет ли индекс использоваться для этой операции?
SELECT * FROM Employee WHERE EmpId=2 and EmpFirstName=’Radhe’
что такое база данных
набор организованных данных
какие бывают модели данных
сетевые, обьектные, иерархические, реляционные
Что такое нормализация
неделимая информация в ячейках, неделимость смысловых столбцов
Какие бывают типы связей в БД
1 ко многим, один к одному, многие ко многим
Primery Key
id столбец(обычно) в котором идет привязка к данным
Foreign key
Внишний ключ, вторичный является дублером primery key другого столбца, для свзяи данных
Индекс
метки для ускорения чтения - замедляют вставку и удаление..знаю ID, другие пока не встречал
Как создать соединение с БД
Connection connection=Driver.Manager.getConnection(“jdbc:mysql://localhost”,”login”, “password”);
что такое Statement
запрос
что такое prepareStatement
запрос с параметрами