SQL Flashcards
Какие три фундаментальные концепции SELECT?
PROJECTION - выбор столбцов из таблицы
SELECTION - выбор строк из таблицы
JOINING - объединение таблиц
Каков базовый синтаксис SELECT?
Чтобы получить целиком таблицу?
select * from table, где * - все колонки, а table - название таблицы.
Как на клавиатуре запустить запрос?
CTRL + Enter
Как получить определенный столбец таблицы?
Что, если нужно несколько столбцов?
Select название_столбца FROM название_таблицы;
через запятую;
Как извлечь столбец так, чтобы в нем не было повторений?
Что, если указать несколько столбцов?
select distinct имя_столбца from название_таблицы;
будет работать на два столбца.
Что такое alias и как что делает?
Псевдонимы. После названия столбца можно написать слово и поменяется его название.
Как работать с текстом и с одинарными кавычками?
q’ ‘
Как выглядит первый шаблон SELECT?
SELECT * (или) (DISTINCT column(s) alias, expression(s) alias) FROM table;
Как вывести зарплату из таблицы EMPLOYEES в промежутке от 4000 до 5000.
SELECT salary FROM employees where salary between 4000 and 5000;
Как оформляется любая дата?
в одинарных кавычках.
Как вывести имена людей от А до Б?
SELECT names FROM employees WHERE names between ‘A’ and ‘B’;
Как сделать запрос, где нужно вывести строки с конкретными значениями чего-то. (1000, 1500, 2000);
(стандарт) WHERE salary IN (1000, 1500,2000);
Как узнать тип столбика?
desc имя_таблицы;
Как найти только те строки, у которых поле определенного столбика NULL?
(стандарт )where имя_столбика IS NULL;
Как найти строки, начинающиеся на S и имеющие за собой сколько угодно символов?
Заканчивающиеся на S, неважно, сколько символов перед S?
(standart) where имя_столбика LIKE ‘S%’;
(standart) where имя_столбика LIKE ‘%S’;
Какие два специальных символа есть у LIKE?
% - сколько угодно символов
_ - один символ;
Как у специального символа ‘_’ LIKE забрать его специальность?
(стандарт) where имя LIKE ‘_’ ESCAPE ‘' ;
т.е. мы ставить слэш перед сиволом и после в escape вписываем этот слэш.
Как отсортировать по возрастанию, убыванию?
ORDER BY имя_по_чему_сортируем ASC;
или DESC
На что можно подразделить функции в SQL? Какое отличие?
На single-row - один вход, один выход
multiple-row много входов - один выход;
Как вывести first_name в нормальном виде и рядом в столбце с маленькой буквы.
select first_name, LOWER(first_name) from employees;
Как вывести текст с помощью таблицы DUAL в нижнем регистре?
select LOWER(‘ПРиВеТ’) from DUAL;
Как выглядит знак конкатенации в SQL?
|| (две палки)
Мы ищем имя, не зная регистр. Как сделать запрос?
select * from employees WHERE LOWER(first_name) = ‘david’ ;
Мы знаем, что имя оканчивается на ‘en’, как найти его?
select * from employees WHERE LOWER(first_name) like ‘%en’ ;
Какая противоположность функции LOWER(s)
UPPER(s)
Как выглядит команда, печатающая значения первая большая буква, остальные маленькие?
SELECT INITCAP (first_name)FROM EMPLOYEES ;
Какая функция выводит сегодняшнюю дату?
select SYSDATE from dual;
Какая особенность есть у функции CONCAT(S,S);
Конвертирует числа и даты в строку S
Как вывести имена и длину этих имён в два столбика?
select first_name, LENGTH(first_name) from employees;
Как взять строку и прибавить к ней определенное количество раз любой символ?
select LPAD(‘zaur’, 7, ‘#’) from dual;
Вывод: ###zaur
RPAD
Сколько параметров принимает INSTR()? Сколько из них обязательных?
(s, search string, start position, Nth occurrence)
Первые два обязательные.
Как ‘срезать’ кусок со строки? Какой базовый синтаксис? Как убрать кусок перед словом? После слова? С обеих сторон слова?
select TRIM( leading ‘*’ from ‘****zaur***’) from dual; Вывод: zaur*** leading Trailing Both
С помощью какой функции можно найти позицию одного значения в другом значении?
instr(s, искомое s)
Что означают все параметры INSTR()?
(s, искомое s, место откуда начинаем поиск, какое по счету появление ищем)
Как вернуть из текста S кусок с места START POSITION? И чтобы вывелось определенное количество символов?
subst(s, start position, определенное количество);
последний опционально.
Какая функция меняет в строке S ЗАМЕНЯЕМЫЙ_КУСОК на ЗАМЕНЯЮЩИЙ_КУСОК
REPLACE (S, заменяемый кусок, заменяющий кусок);
символы в одинарные кавычки*
Сколько обязательных параметров у replace?
(s, заменяемый_кусок)
Что делает функция REPLACE() без третьего параметра?
удаляет выбранные символы.
Какая функция округляет число? Сколько параметров и сколько из них обязательны?
Round (n, точность_округления);
первый обязательный
Как работает второй параметр функции round()
второй параметр - число цифр после запятой, которые будут округлены.
Как отсечь дробную часть числа? Не округлить, а именно срезать?
trunc (n, точность);
Как найти остаток от деления?
MOD (делимое, делитель);
Какая функция считает количество месяцев?
MONTHS_BETWEEN(start_date, end_date);
Какой шаблон для перевода в текст?
to_char(number, mask, nls_parameters) = T;
По какому принципу работают маски в to_char()?
to_char(18, ‘099,99’) => 018,00
to_char(18, ‘00099,999’) => 00018,000
to_char(-18, ‘S99,99’) => -18,00
Что делает функция NVL(x1,x2);
если x1 не NULL - возвращает x1, если x1 - NULL, возвращает x2;
Как вывести 0 вместо NULL у столбца коммиссии?
select NVL(commission_pct, 0) from employees;
Синтаксис и как работает функция NVL2?
NVL2(value, ifnotnull, ifnull);
если value null, возвращает ifnull, если не null, возвращает ifnotnull;
Что делает NULLIF(x1,x2)
Возвращает null если x1 и x2 равны между собой.
возвращает x1 если не равны
Что делает COALESCE(x1,x2,x3 … xN)?
Возвращает первое неNULL значение.
два типа функции CASE&
simple
searched
Как работает Simple case?
CASE 3*4
WHEN 12 THEN