ITMO-Study-Note

实验二/QUESTION 2

Темы для подготовки к защите лабораторной работы:

  1. SQL 语言 декларативный язык программирования, применяемый для создания, модификации и управления данными в реляционной базе данных, управляемой соответствующей системой управления базами данных.
    一种声明式编程语言,用于创建、修改和管理由适当数据库管理系统管理的关系数据库中的数据。

  2. Соединение таблиц 表连接 Существуют следующие типы соединений:
    连接类型有以下几种:
    • INNER JOIN или просто JOIN - внутреннее соединение. В результате остаются только те строки, для которых нашлось соответствие. До сих пор мы использовали только этот тип соединений.
    • INNER JOIN 或简单的 JOIN - 内部连接。 因此,只保留匹配的记录。 到目前为止,我们只使用了这种类型的连接。
    • LEFT JOIN - левое внешнее соединение. Работает как JOIN, но если для строки таблицы, находящейся по левую сторону ключевого слова LEFT JOIN, не нашлось ни одной строки в таблице, находящейся по правую сторону LEFT JOIN, то строка все равно добавляется в результат, а значения столбцов правой таблицы равны null.
    • LEFT JOIN 是左外连接。 它的工作原理与 JOIN 类似,但如果 LEFT JOIN 关键字左侧表中的某一行在 LEFT JOIN 右侧表中没有记录,则该行仍会添加到结果中,而右侧表中的列值为空。
    • RIGHT JOIN - правое внешнее соединение. Работает как JOIN, но если для строки таблицы, находящейся по правую сторону ключевого слова RIGHT JOIN, не нашлось ни одной строки в таблице, находящейся по левую сторону RIGHT JOIN, то строка все равно добавляется в результат, а значения столбцов левой таблицы равны null.
    • RIGHT JOIN(右连接)–右外部连接。 其工作原理与 JOIN 类似,但如果 RIGHT JOIN 关键字右侧表中的某一行在 RIGHT JOIN 左侧表中没有记录,则该行仍会添加到结果中,而左侧表列的值等于零。
    • FULL JOIN - полное внешнее соединение. Если для какой-либо из таблиц не нашлось строки в другой таблице, то строка все равно попадает в результат, а значения столбцов другой таблицы равны null.
    • FULL JOIN - 完全外部连接。 如果另一个表中的任何表都没有记录,则结果中仍包含该行,而另一个表的列值等于零。
    • CROSS JOIN - перекрестное (или декартово) произведение. Каждая строка одной таблицы соединяется с каждой строкой второй таблицы, давая тем самым в результате все возможные сочетания строк двух таблиц. Аналогичного результата можно достичь просто перечислив таблицы в FROM через запятую.
    • 交叉连接是一种交叉(或笛卡尔)积。 一个表中的每一行都与第二个表中的每一行连接,从而得到两个表中所有可能的行组合。 只需将 FROM 中的表用逗号列出,就能得到类似的结果。
  3. Подзапросы 子查询 SQL-подзапрос — это SELECT-запрос, вложенный в другой запрос или подзапрос.
    SQL 子查询是嵌套在另一个查询或子查询中的 SELECT 查询。

  4. Представления(VIEW) 视图 Представление — объект базы данных, являющийся результатом выполнения запроса к базе данных, определённого с помощью оператора SELECT, в момент обращения к представлению.
    представление для пользователя выглядит как таблица, но фактически не хранит данных, а извлекает их из других таблиц в момент обращения.
    视图是一个数据库对象,是在访问视图时执行用 SELECT 语句定义的数据库查询的结果。

  5. Последовательности 序列 Последовательность CREATE SEQUENCE – это объект базы данных, который генерирует целые числа в соответствии с правилами, установленными во время его создания. Для последовательности можно указывать как положительные, так и отрицательные целые числа.
    CREATE SEQUENCE(创建序列)是一个数据库对象,可根据创建时制定的规则生成整数。 序列可以指定正整数和负整数。
    ключевое слово ORDER BY 关键字(对于排列序列)
    Последовательность SQL — это объект базы данных, который генерирует ряд числовых значений, обычно используемых для генерации уникальных идентификаторов для строк в таблице.
    SQL 序列是生成一系列数值的数据库对象,通常用于为表中的行生成唯一标识符。

DISTINCT 关键字(去除重复值) Удаление дублирующихся значений 别名(ALIAS) 别名是给表、视图、列或表达式取的临时名称,以便于简化查询。
EXTRACT(field FROM source) 函数 提取日期或时间字段。 字段 列表
使用了having必须使用group by,但是使用group by 不一定使用having
where在前,group by在后 ORDER BY 关键字(对结果排序), 可以使用ASCDESC 关键字来设置查询结果是升序还是降序。

ORDER BY column_name ASC|DESC;