Q: What’s the difference between DROP and TRUNCATE?
A: DROP permanently deletes the object/table, whereas TRUNCATE deletes only rows and preserves the structure of the table. And it is MUCH FASTER.
- Row Deletion:
- DELETE: You can delete specific rows using a WHERE clause.
- TRUNCATE: It removes all rows from the table without the option to specify conditions.
- Data Recovery:
- DELETE: Data can be recovered if the database supports transaction logging, as it logs each row deletion.
- TRUNCATE: Data cannot be recovered because it does not log individual row deletions.
- Performance:
- DELETE: It is slower because it processes each row individually and logs each deletion.
- TRUNCATE: It is faster because it deallocates the data pages used by the table, effectively resetting it.
- AUTO_INCREMENT Behavior:
- DELETE: The AUTO_INCREMENT counter is not reset when rows are deleted.
- TRUNCATE: The AUTO_INCREMENT counter is reset, meaning the next inserted row will start from the initial value.
Q: Какие агрегатные функции знаешь?
A: AVG, SUM, MIN, MAX, COUNT
Q: What’s the difference between WHERE and HAVING?
A: WHERE is executed before GROUP BY ||| HAVING after GROUP BY. WHERE работает с отдельными строками, а HAVING — с агрегированными результатами.
Q: Что такое JOIN и для чего они используются в SQL?
A: Это оператор, который используется для объединения строк из нескольких таблиц в одну общую между ними. JOIN позволяет представлять такие объединенные данные в одном результирующем наборе данных.
Q: What is relational database?
A: Relational database is the one that has a relational model in its core. In such databases the data is structured in tables with columns and rows. The tables can be connected with each other(relations).
Q: Чем PostgreSQL немного отличается от других реляционных баз данных, что дает ей преимущество?
A: Тем что это объектно-реляционная СУБД.
Q: The DATE() operator feature?
A: Функция DATE()позволяет исключить время при указании параметров даты.
Q: Для чего используется оператор CASE в SQL?
A: Оператор CASE это по сути как if-elif-else в питоне. Он помогает применять определенную пользователем логику и на основе этой логики создаёт поле\столбец, возвращающее значение в зависимости от условия. CASE WHEN TOTAL < 2.00 THEN 'Baseline Purchase' END.
Q: Зачем в базах данных нужно иметь несколько таблиц?
A: Для нормализации данных.
Q: DELETE removes all the data from a table, but it DID NOT …
A: resets the auto-incrementing sequence with a SERIAL or AUTO-INCREMENT column. TRUNCATE does reset the sequence in MySQL and PostgreSQL.
Q: What default JOIN is used when no other is defined?
A: INNER JOIN. Default is INNER until the OUTER is defined in a query.
Q: Which database doesn’t support RIGHT OUTER JOIN?
A: Fucking SQLite. Poor guy.
Q: Чего SQLite не поддерживает?
A: Сетевого взаимодействие. Так как она легковесная дисковая база данных.
Q: Какое ограничение SQLite имеет в пользовательском доступе?
A: при многопользовательском доступе, так как он работает по принципу: один пишет-многие читают.
Q: Определение ограничений в SQL A: Ограничения накладываемые на выполнение операций с целью сохранения согласованности данных
Q: Какие есть типы ограничений в sql? A: primary key, foreign key, check, unique, not null