SQL Flashcards

1
Q

Какие три фундаментальные концепции SELECT?

A

PROJECTION - выбор столбцов из таблицы
SELECTION - выбор строк из таблицы
JOINING - объединение таблиц

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Каков базовый синтаксис SELECT?

Чтобы получить целиком таблицу?

A

select * from table, где * - все колонки, а table - название таблицы.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Как на клавиатуре запустить запрос?

A

CTRL + Enter

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Как получить определенный столбец таблицы?

Что, если нужно несколько столбцов?

A

Select название_столбца FROM название_таблицы;

через запятую;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Как извлечь столбец так, чтобы в нем не было повторений?

Что, если указать несколько столбцов?

A

select distinct имя_столбца from название_таблицы;

будет работать на два столбца.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Что такое alias и как что делает?

A

Псевдонимы. После названия столбца можно написать слово и поменяется его название.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Как работать с текстом и с одинарными кавычками?

A

q’ ‘

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Как выглядит первый шаблон SELECT?

A

SELECT * (или) (DISTINCT column(s) alias, expression(s) alias) FROM table;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Как вывести зарплату из таблицы EMPLOYEES в промежутке от 4000 до 5000.

A

SELECT salary FROM employees where salary between 4000 and 5000;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Как оформляется любая дата?

A

в одинарных кавычках.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Как вывести имена людей от А до Б?

A

SELECT names FROM employees WHERE names between ‘A’ and ‘B’;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Как сделать запрос, где нужно вывести строки с конкретными значениями чего-то. (1000, 1500, 2000);

A

(стандарт) WHERE salary IN (1000, 1500,2000);

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Как узнать тип столбика?

A

desc имя_таблицы;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Как найти только те строки, у которых поле определенного столбика NULL?

A

(стандарт )where имя_столбика IS NULL;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Как найти строки, начинающиеся на S и имеющие за собой сколько угодно символов?

Заканчивающиеся на S, неважно, сколько символов перед S?

A

(standart) where имя_столбика LIKE ‘S%’;

(standart) where имя_столбика LIKE ‘%S’;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Какие два специальных символа есть у LIKE?

A

% - сколько угодно символов

_ - один символ;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Как у специального символа ‘_’ LIKE забрать его специальность?

A

(стандарт) where имя LIKE ‘_’ ESCAPE ‘' ;

т.е. мы ставить слэш перед сиволом и после в escape вписываем этот слэш.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Как отсортировать по возрастанию, убыванию?

A

ORDER BY имя_по_чему_сортируем ASC;

или DESC

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

На что можно подразделить функции в SQL? Какое отличие?

A

На single-row - один вход, один выход

multiple-row много входов - один выход;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Как вывести first_name в нормальном виде и рядом в столбце с маленькой буквы.

A

select first_name, LOWER(first_name) from employees;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Как вывести текст с помощью таблицы DUAL в нижнем регистре?

A

select LOWER(‘ПРиВеТ’) from DUAL;

22
Q

Как выглядит знак конкатенации в SQL?

A

|| (две палки)

23
Q

Мы ищем имя, не зная регистр. Как сделать запрос?

A

select * from employees WHERE LOWER(first_name) = ‘david’ ;

24
Q

Мы знаем, что имя оканчивается на ‘en’, как найти его?

A

select * from employees WHERE LOWER(first_name) like ‘%en’ ;

25
Q

Какая противоположность функции LOWER(s)

A

UPPER(s)

26
Q

Как выглядит команда, печатающая значения первая большая буква, остальные маленькие?

A

SELECT INITCAP (first_name)FROM EMPLOYEES ;

27
Q

Какая функция выводит сегодняшнюю дату?

A

select SYSDATE from dual;

28
Q

Какая особенность есть у функции CONCAT(S,S);

A

Конвертирует числа и даты в строку S

29
Q

Как вывести имена и длину этих имён в два столбика?

A

select first_name, LENGTH(first_name) from employees;

30
Q

Как взять строку и прибавить к ней определенное количество раз любой символ?

A

select LPAD(‘zaur’, 7, ‘#’) from dual;

Вывод: ###zaur

RPAD

31
Q

Сколько параметров принимает INSTR()? Сколько из них обязательных?

A

(s, search string, start position, Nth occurrence)

Первые два обязательные.

32
Q

Как ‘срезать’ кусок со строки? Какой базовый синтаксис? Как убрать кусок перед словом? После слова? С обеих сторон слова?

A
select TRIM( leading ‘*’ from ‘****zaur***’) from dual;
Вывод:  zaur***
leading
Trailing
Both
33
Q

С помощью какой функции можно найти позицию одного значения в другом значении?

A

instr(s, искомое s)

34
Q

Что означают все параметры INSTR()?

A

(s, искомое s, место откуда начинаем поиск, какое по счету появление ищем)

35
Q

Как вернуть из текста S кусок с места START POSITION? И чтобы вывелось определенное количество символов?

A

subst(s, start position, определенное количество);

последний опционально.

36
Q

Какая функция меняет в строке S ЗАМЕНЯЕМЫЙ_КУСОК на ЗАМЕНЯЮЩИЙ_КУСОК

A

REPLACE (S, заменяемый кусок, заменяющий кусок);

символы в одинарные кавычки*

37
Q

Сколько обязательных параметров у replace?

A

(s, заменяемый_кусок)

38
Q

Что делает функция REPLACE() без третьего параметра?

A

удаляет выбранные символы.

39
Q

Какая функция округляет число? Сколько параметров и сколько из них обязательны?

A

Round (n, точность_округления);

первый обязательный

40
Q

Как работает второй параметр функции round()

A

второй параметр - число цифр после запятой, которые будут округлены.

41
Q

Как отсечь дробную часть числа? Не округлить, а именно срезать?

A

trunc (n, точность);

42
Q

Как найти остаток от деления?

A

MOD (делимое, делитель);

43
Q

Какая функция считает количество месяцев?

A

MONTHS_BETWEEN(start_date, end_date);

44
Q

Какой шаблон для перевода в текст?

A

to_char(number, mask, nls_parameters) = T;

45
Q

По какому принципу работают маски в to_char()?

A

to_char(18, ‘099,99’) => 018,00
to_char(18, ‘00099,999’) => 00018,000
to_char(-18, ‘S99,99’) => -18,00

46
Q

Что делает функция NVL(x1,x2);

A

если x1 не NULL - возвращает x1, если x1 - NULL, возвращает x2;

47
Q

Как вывести 0 вместо NULL у столбца коммиссии?

A

select NVL(commission_pct, 0) from employees;

48
Q

Синтаксис и как работает функция NVL2?

A

NVL2(value, ifnotnull, ifnull);

если value null, возвращает ifnull, если не null, возвращает ifnotnull;

49
Q

Что делает NULLIF(x1,x2)

A

Возвращает null если x1 и x2 равны между собой.

возвращает x1 если не равны

50
Q

Что делает COALESCE(x1,x2,x3 … xN)?

A

Возвращает первое неNULL значение.

51
Q

два типа функции CASE&

A

simple

searched

52
Q

Как работает Simple case?

A

CASE 3*4

WHEN 12 THEN