Что выдает следующий запрос select from student where students in
Помогите с тестами.
2. В базе данных имеется таблица Book со следующими столбцами:
— ID – уникальный числовой идентификатор издания, первичный ключ;
— Title – название книги;
— Author – автор книги (принимаем допущение, что у каждой книги только один автор);
— Publisher – издательство, в котором вышла книга;
— Pub_Year – год издания книги.
Что произойдет при выполнении выражения UPDATE Book SET WHERE Publisher = ‘Азбука’, если учесть, что на ниже приведены все строки, присутствующие в таблице?
ID|Title |Author |Publisher |Pub_Year
1 |Война и мир |Толстой Л.Н. |Мысль |1981
2 |Казаки |Толстой Л.Н. |Азбука |1999
3 |Французский язык |Исмаилов Р.А.|Высшая школа |2003
4 |Как это делалось в Одессе|Бабель И. |Азбука |2003
1. Обновление пройдет успешно для всех строк
2. Синтаксис выражения UPDATE некорректен, поэтому оно даже не выполнится
3. Выражение выполнится, но во время выполнения возникнет ошибка и ни одна строка не будет обновлена
4. Обновится только одна строка, соотвествующая книге «Как это делалось в Одессе»
3. В базе данных имеются 2 таблицы – Students и Results.
В таблице Students столбец ID – номер студенческого билета, первичный ключ; столбец Name содержит ФИО студента.
В таблице Results поле ID – номер студенческого билета, внешний ключ, ссылающийся на таблицу Students; Mark – оценка студента за экзамен; первичный ключ таблицы составной, он включает поля ID, Subject.
Из приведенных вариантов запросов выберите те, которые позволяют отобрать ФИО студентов, сдавших хотя бы 1 экзамен на 5.
1. SELECT DISTINCT Name FROM Students Left Join Results On Students.ID=Results.ID WHERE Mark=5;
2. SELECT DISTINCT Name FROM Students, Results WHERE Students.ID=Results.ID AND Mark=5;
3. SELECT DISTINCT Name FROM Students WHERE ID In (Select ID From Results Where Mark=5);
4. SELECT DISTINCT Name FROM Students Inner Join Results On Students.ID=Results.ID WHERE Mark=5;
4. В вашей базе данных имеются две таблицы – Students (информация о студентах) и Mark (информация об оценках студентов). Таблица Students содержит столбцы ID (первичный ключ), Student_Name, Group и другие. Таблица Mark содержит столбцы ID (идентификатор студента), Subject (код предмета), Mark (оценка по 5-балльной шкале), Exam_Date и другие. Никаких ограничений (в том числе и первичного ключа) в таблице Mark не создано. Вы хотите ускорить выполнение запроса
SELECT s.Student_Name, m.Subject, m.Mark
FROM Students s JOIN Mark m
ON m.ID=s.ID
WHERE Student_Name=’Иванов А.М’
Укажите два действия (каждое является частью полного решения), которые позволят вам выполнить задачу.
1. Создать в таблице Mark композитный первичный ключ по столбцам Mark, Subject, ID, перечислив их в указанном порядке
2. Создать в таблице Mark внешний ключ для столбца ID, который будет ссылаться на столбец ID таблицы Students
3. Создать в таблице Mark ограничение UNIQUE по столбцу ID
4. Создать в таблице Students индекс по столбцу Student_Name
5. Создать в таблице Mark индекс по столбцу ID
6. Создать в таблице Students индекс по столбцу IID
5. В базе данных имеются 2 таблицы – Students и Results.
В таблице Students столбец ID – номер студенческого билета, первичный ключ; столбец Name содержит ФИО студента.
В таблице Results поле ID – номер студенческого билета, внешний ключ, ссылающийся на таблицу Students; Mark – оценка студента за экзамен; первичный ключ таблицы составной, он включает поля ID, Subject.
Какой результат будет получен после исполнения следующего запроса, где предмет – это вводимое до выполнения запроса значение (т.е переменная)?
Select Distinct Name From Students
Where Distinct ID from Results WHERE subject = ‘предмет’);
1. ФИО студентов, которые сдавали хотя бы один экзамен
2. Запрос выполнится, но не выдаст ни одной строки
3. Запрос не выполнится, будет выдана ошибка
4. В зависимости от введенного значения будет либо выдана ошибка, либо одна строка с ФИО студента, сдававшего экзамен, либо ни одной строки
6. В базе данных имеется таблица Book со следующими столбцами:
— ID – уникальный числовой идентификатор издания, первичный ключ;
— Title – название книги;
— Author – автор книги (принимаем допущение, что у каждой книги только один автор);
— Publisher – издательство, в котором вышла книга;
— Pub_Year – год издания книги.
Выберите запросы, возвращающие всю информацию о книгах, изданных в издательствах «Азбука» или «Мысль».
1. SELECT * FROM Book WHERE Publisher=’Мысль’ UNION SELECT * FROM Book WHERE Publisher=’Азбука’;
2. SELECT * FROM Book WHERE Publisher IN (‘Мысль’,’Азбука’);
3. SELECT * FROM Book WHERE Publisher =’Мысль’ OR Publisher =’Азбука’;
4. SELECT * FROM Book WHERE Publisher = ‘Мысль’, Publisher =’Азбука’;
7. Имеется таблица Book, в которой есть столбец Author. Ниже приведен запрос на языке SQL. Выберите из приведенного списка ответ, наиболее точно описывающий результат выполнения запроса.
SELECT Author As A, ‘Список авторов’ As D FROM Book
1. Результат выполнения запроса будет содержать 4 столбца
2. Результат выполнения запроса будет содержать 3 столбца
3. Результат выполнения запроса будет содержать 1 столбец
4. Будет получено сообщение о синтаксической ошибке
5. Результат выполнения запроса будет содержать 2 столбца
8. В базе данных имеется таблица Book со следующими столбцами:
— ID – уникальный числовой идентификатор издания, первичный ключ;
— Title – название книги;
— Author – автор книги (принимаем допущение, что у каждой книги только один автор);
— Publisher – издательство, в котором вышла книга;
— Pub_Year – год издания книги.
Была создана таблица Book1 с аналогичной структурой. Необходимо поместить в нее информацию обо всех книгах из Book, которые были изданы до 2000-го года. Выберите правильный вариант SQL-запроса.
1. SELECT * INTO Book1 FROM Book WHERE Pub_Year 1;
2. SELECT Author FROM Book GROUP BY Author, Title HAVING Count(ID)>1;
3. SELECT Author FROM Book WHERE Count(ID)>1;
SQL SELECT
Не многие владеют в совершенстве языками, а если говорит о языках программирования, то большая часть знает о них только то, что изучали в школе. Однако в полной мере об используемых языках, для управления компьютерными программами, можно почерпнуть только при глубоком изучении материала, в высших учебных заведениях и путем самостоятельного обучения.
Огромное количество программ позволяют выбирать данные для финансовых и других отчетов в считанные минуты. Одна из самых простых и к тому же удобных — SQL SELECT. При знакомстве с ней любой программист сможет без проблем рассказать о том, что SQL – это язык программирования, помогающий структурировать все необходимые запросы, а SELECT – это команда, используемая в комбинации с SQL. Безусловно, в сочетании SQL SELECT позволяют проводить все необходимые действия, изложенные на примерах данной страницы. В связи, с чем нижеизложенный материал более подробно и наглядно характеризует возможности SQL SELECT. Поэтому, установив программу, используемую SQL SELECT, вы сэкономите время своих сотрудников, а также деньги предприятия.
С помощью запроса SQL SELECT можно выполнять выборку данных из таблицы. Следующие примеры запросов SQL SELECT используются в таких SQL СУБД как MySQL, Oracle, Access и других.
Для выполнения следующих SQL запросов SELECT нам необходимо прежде всего изучить структуру таблиц.
Имя таблицы | Имя поля | Тип поля | Примечание |
---|---|---|---|
FAKULTET | KOD_F | Integer | PRIMARY KEY |
NAZV_F | Char, 30 | ||
SPEC | KOD_S | Integer | PRIMARY KEY |
KOD_F | Integer | ||
NAZV_S | Char, 50 | ||
STUDENT | KOD_STUD | Integer | PRIMARY KEY |
KOD_S | Integer | ||
FAM | Char, 30 | ||
IM | Char, 15 | ||
OT | Char, 15 | ||
STIP | Decimal, 3 | ||
BALL | Decimal, 3 |
Примеры запросов SELECT на языке SQL:
SQL Пример SELECT №1
Выбрать студентов, получающих стипендию, равную 150.
SELECT fname FROM STUDENT WHERE STIP=150;
С помощью данного SQL запроса SELECT выбираются все значения из таблицы STUDENT, поле STIP которых строго равно 150.
SQL Пример SELECT №2
Выбрать студентов, имеющих балл от 82 до 90. Студенты должны быть отсортированы в порядке убывания балла.
SELECT FAM FROM STUDENT WHERE BALL BETWEEN 81 AND 91 ORDER BY BALL DESC;
Как видно из SQL примера, чтобы выбрать студентов, которые имеют балл от 82 до 90, мы используем условие BETWEEN. Чтобы отсортировать в убывающем порядке DESC.
SQL Пример SELECT №3
Выбрать студентов, фамилии которых начинаются с буквы «А».
Для того, чтобы выбрать фамилии, начинающиеся с буквы «А», мы используем оператор SQL LIKE для поиска значений по образцу.
SQL SELECT Пример №4
Подсчитать средний балл на каждом факультете.
SELECT NAZV_F As Название, ROUND(AVG(BALL), 2) As СредБалл FROM FAKULTET, SPEC, STUDENT WHERE STUDENT.KOD_S=SPEC.KOD_S AND SPEC.KOD_F=FAKULTET.KOD_F GROUP BY NAZV_F;
Пример запроса SQL SELECT показывает нам использование функции SQL AVG для вычисления среднего значения, ROUND для округления значения, раздела GROUP BY для группировки столбцов.
SQL SELECT. Пример №5.
Подсчитать количество студентов, обучающихся на каждом факультете. Вывести в запросе название факультета, комментарий – «обучается», количество студентов, комментарий «человек».
SELECT NAZV_F||’ обучается ‘||COUNT(STUDENT.BALL)||’ человек’ As CountStudOnFakultet FROM FAKULTET, SPEC, STUDENT WHERE STUDENT.KOD_S=SPEC.KOD_S AND SPEC.KOD_F=FAKULTET.KOD_F GROUP BY NAZV_F;
SQL SELECT. Пример №6.
Упорядочить студентов по факультетам, специальностям, фамилиям.
SELECT NAZV_F, NAZV_S, FAM FROM FAKULTET, SPEC, STUDENT WHERE STUDENT.KOD_S=SPEC.KOD_S AND SPEC.KOD_F=FAKULTET.KOD_F ORDER BY NAZV_F, NAZV_S, FAM;
SQL SELECT. Пример №7.
Определить, кто учится на специальности, к которой относится студент «Асанов».
SELECT FAM FROM STUDENT WHERE STUDENT.KOD_S=(SELECT KOD_S FROM STUDENT WHERE FAM=’Асанов’);
В данном SQL примере мы используем подзапрос SQL SELECT, который возвращает код специальности, на которой учится студент по фамилии Асанов.
SQL SELECT. Пример №8.
Показать, какие специальности встречаются в таблице STUDENT. Дубликаты исключить. Вывести в запросе названия специальностей.
SELECT DISTINCT NAZV_S FROM SPEC, STUDENT WHERE STUDENT.KOD_S=SPEC.KOD_S;
Здесь мы с помощью SQL ограничения DISTINCT выводим только различные значения.
SQL SELECT. Пример №9.
Извлечь из базы данных все данные по сотрудникам, принятым на работу после 01.01.1980 г. в формате “Сотрудник принят на работу ”.
SELECT CONCAT(CONCAT(CONCAT(‘Сотрудник ‘, sname), CONCAT(SUBSTR(fname, 0, 1), SUBSTR(otch, 0, 1))), CONCAT(‘принят на работу ‘, acceptdate)) FROM employees WHERE acceptdate > to_date(‘01.01.80′,’dd.mm.yyyy’);
В данном SQL SELECT, используя SQL функцию CONCAT мы выводим все поля таблицы в одну строчку. SQL функция to_date возвращает привычное для СУБД значение даты.
SQL SELECT. Пример №10.
Извлечь из базы данных перечень должностей, которые имеют сотрудники следующих отделов: ‘БИОТЕХНОЛОГИЙ’, ‘ИНЖЕНЕРНОЙ ЭКОЛОГИИ’. В запросе использовать названия отделов.
SELECT pname FROM posts, departments, employees WHERE posts.pid = employees.pid AND employees.did = departments.did AND (departments.dname = ‘БИОТЕХНОЛОГИЙ’ OR departments.dname = ‘ИНЖЕНЕРНОЙ ЭКОЛОГИИ’);
Пояснение: posts — таблица должностей, departments — таблица отделов, employees — таблица сотрудников, pname — название должности.
SQL SELECT. Пример №11.
Извлечь из базы данных значение максимального личного шифра и фамилию сотрудника с этим номером в формате “Максимальный личный шифр имеет сотрудник ”.
SELECT ‘Максимальный личный шифр ‘||eid||’ имеет сотрудник ‘||sname||’ ‘||SUBSTR(fname, 0, 1)||’. ‘||SUBSTR(otch, 0, 1)||’.’ As Максимальный_личный_шифр FROM employees WHERE eid = (SELECT MAX(eid) from employees);
Для вывода максимального личного шифра мы устанавливаем условие в WHERE так, чтобы шифр был равен полученному максимальному шифру из подзапроса SELECT, используя функцию MAX.
SQL SELECT. Пример №12.
Получить из базы данных значение числа записей в таблице данных о сотрудниках в формате “Таблица данных о сотрудниках содержит записей”.
SELECT ‘Таблица данных о сотрудниках содержит ‘||COUNT(*)||’ записей’ FROM employees;
Используя SQL функцию COUNT, выводим количество записей таблицы employees.
SQL SELECT. Пример №13.
Получить единым запросом список отделов и должностей предприятия.
SELECT pname FROM posts UNION SELECT dname FROM departments;
С помощью UNION мы объединяем два запроса SQL SELECT и выводим их как один.
SQL SELECT. Пример №14.
Вывести 30 комментариев начиная с 5 комментария из таблицы replies, кроме комментариев автора ‘Вася’. Данные сортируются по дате добавления комментария в убывающем порядке.
SELECT * FROM replies WHERE author!=’Вася’ ORDER BY date DESC LIMIT 5, 30;
SQL SELECT. Пример №15.
Получить из SQL таблицы news одну новость с пометкой «Важные новости».
SELECT * FROM news WHERE status=’Важные новости’ LIMIT 1;
В данном SQL примере мы выбираем все столбцы поля, у которого столбец status равен ‘Важные новости’. SQL ограничение LIMIT 1 означает, что выбираем только одну запись.
SQL SELECT. Пример №16.
Получить имя письма с идентификатором 1565.
SELECT name FROM mail_inbox WHERE >
SQL SELECT. Пример №17.
Получить название рекламного пакета с идентификатором 24.
SELECT title FROM ad_packages WHERE >
SQL SELECT. Пример №18.
Вывести столбцы id, title, price, c_type с сортировкой по идентификатору в возрастающем порядке.
SELECT id, title, price, c_type FROM ad_packages ORDER BY id ASC;
SQL SELECT. Пример №19.
Вывести все записи из SQL таблицы actions с идентификатором 1234567890.
SELECT * actions WHERE uid=’1234567890′;
SQL SELECT. Пример №20.
SELECT * FROM buypts ORDER BY c_type DESC, price DESC;
SQL SELECT. Пример №21.
SELECT uid FROM refs WHERE rid=’19’;
SQL SELECT. Пример №22.
SELECT * FROM sellpts ORDER BY price ASC;
SQL SELECT. Пример №23.
SELECT * FROM useronline WHERE uid=’1′;
SQL SELECT. Пример №24.
SELECT * FROM mail_inbox WHERE uid=’4590′ AND status=’unread’;
SQL SELECT. Пример №25.
SELECT * FROM buyref WHERE rid!=’5′ ORDER BY dateStamp DESC;
MySQL SQL SELECT. Пример №26.
SELECT id FROM replies WHERE nid=’5′;
MySQL SQL SELECT. Пример №27.
SELECT id, dateStamp, title, text FROM news WHERE dateStamp=’1232342412′;
Oracle SQL SELECT. Пример №28.
SELECT id, dateStamp, author, text, remote_addr FROM replies WHERE nid=’45’ ORDER BY dateStamp ASC;
SQL урок 1. Язык запросов SQL и оператор выбора SELECT
Оператор SELECT sql
SQL-запрос Select предназначен для обычной выборки из базы данных. Т.е. если нам необходимо просто получить данные, не делая с ними никакой обработки и не внося изменений в базу данных, то можно смело использовать данный запмагарос.
Синтаксис оператора SELECT
SELECT * FROM имя_таблицы;
Это самый простой вариант работы с оператором, когда мы выбираем все записи из таблицы БД.
Символ * обозначает выборку всех записей из таблицы. При этом столбцы и строки результирующего набора не упорядочены.
Рассмотрим примеры sql запросов select:
SELECT * FROM teachers;
Чтобы ограничить количество выбранных записей используется служебное слово LIMIT :
SELECT * FROM имя_таблицы LIMIT 2,3;
В примере происходит выборка 3 записей из таблицы, начиная со 2 записи.
Этот запрос особо необходим при создании блока страниц навигации.
Чтобы упорядочить поля результирующего набора, их следует перечислить через запятую в нужном порядке после слова SELECT :
SELECT name, zarplata FROM teachers;
Сортировка в SQL
SELECT name, zarplata, premia FROM teachers ORDER BY name;
SELECT `Скорость`,`Память` FROM `pc` ORDER BY `Скорость` ASC
SELECT `Скорость`,`Память` FROM `pc` ORDER BY 1 ASC
Сортировку можно выполнять по двум полям:
SELECT `Скорость`,`Память` FROM `pc` ORDER BY `Скорость` ASC, `Память` ASC
Сортировку можно производить по возрастанию, тогда добавляется параметр ASC (он же применяется по умолчанию) или по убыванию (в таком случае добавляется параметр DESC ):
SELECT name, zarplata, premia FROM teachers ORDER BY name DESC;
Удаление повторяющихся значений в SQL
DISTINCT (в переводе с английского ОТЛИЧИЕ) — аргумент, который устраняет двойные значения:
SELECT premia FROM teachers;
SELECT DISTINCT premia FROM teachers;
Рассмотрим другой пример из базы данных «Компьютерный магазин»:
SELECT Скорость, Память FROM PC;
Когда требуется получить уникальные строки (например, нас интересуют только различные комбинации скорости процессора и объема памяти, а не характеристики всех имеющихся компьютеров), то нужно использовать Distinct :
SELECT DISTINCT Скорость, Память FROM PC;
Язык sql: where условие
При этом в результирующий набор попадут только те записи, для которых значение предиката равно TRUE (истина).
SELECT * FROM `teachers` WHERE `name` = ‘Иванов’
Несколько условий в SQL
Предикаты (условия) могут состоять как из одного выражения, так и из любой комбинации выражений, построенных с помощью булевых операторов:
SELECT * FROM `teachers` WHERE `zarplata`=10000 and `premia`=500
Реляционные операторы, встречающиеся в условиях:
= Равный
> Больше чем
Меньше чем
>= Больше чем или равно
Меньше чем или равно
<> Не равно
Between в SQL (между)
Синтаксис:
SELECT name, zarplata FROM teachers WHERE (zarplata BETWEEN 5000 And 10000);
SELECT name, zarplata FROM teachers WHERE (zarplata NOT BETWEEN 5000 And 10000);
Предикат IN
Предикат IN определяет, будет ли значение проверяемого выражения обнаружено в наборе значений, который явно определен.
Синтаксис:
SELECT name, zarplata FROM teachers WHERE (zarplata IN (5000,10000,11000));
SELECT name, zarplata FROM teachers WHERE (zarplata NOT IN (5000,10000,11000));
Предикат IN с подзапросом
Предикат IN определяет, будет ли значение проверяемого выражения обнаружено в наборе значений, который получен с помощью табличного подзапроса.
Синтаксис:
SELECT `Номер`,`Скорость`,`HD` FROM `pc` WHERE `Скорость` IN (1000,2000,3000) AND `Номер` IN (Select `Номер` FROM product where Производитель = «Америка»)
Язык SQL запрос LIKE
Предикат LIKE сравнивает проверяемое значение с шаблоном в выражении.
Синтаксис:
SELECT * FROM teachers WHERE (name LIKE «%а»);
Символ % заменяет любую последовательность символов.
SQL запросы быстро. Часть 1
Введение
Язык SQL очень прочно влился в жизнь бизнес-аналитиков и требования к кандидатам благодаря простоте, удобству и распространенности. Из собственного опыта могу сказать, что наиболее часто SQL используется для формирования выгрузок, витрин (с последующим построением отчетов на основе этих витрин) и администрирования баз данных. И поскольку повседневная работа аналитика неизбежно связана с выгрузками данных и витринами, навык написания SQL запросов может стать фактором, из-за которого кандидат или получит преимущество, или будет отсеян. Печальная новость в том, что не каждый может рассчитывать получить его на студенческой скамье. Хорошая новость в том, что в изучении SQL нет ничего сложного, это быстро, а синтаксис запросов прост и понятен. Особенно это касается тех, кому уже доводилось сталкиваться с более сложными языками.
Обучение SQL запросам я разделил на три части. Эта часть посвящена базовому синтаксису, который используется в 80-90% случаев. Следующие две части будут посвящены подзапросам, Join’ам и специальным операторам. Цель гайдов: быстро и на практике отработать синтаксис SQL, чтобы добавить его к арсеналу навыков.
Практика
Введение в синтаксис будет рассмотрено на примере открытой базы данных, предназначенной специально для практики SQL. Чтобы твое обучение прошло максимально эффективно, открой ссылку ниже в новой вкладке и сразу запускай приведенные примеры, это позволит тебе лучше закрепить материал и самостоятельно поработать с синтаксисом.
Кликнуть здесь
После перехода по ссылке можно будет увидеть сам редактор запросов и вывод данных в центральной части экрана, список таблиц базы данных находится в правой части.
Структура sql-запросов
Общая структура запроса выглядит следующим образом:
Разберем структуру. Для удобства текущий изучаемый элемент в запроса выделяется CAPS’ом.
SELECT, FROM
SELECT, FROM — обязательные элементы запроса, которые определяют выбранные столбцы, их порядок и источник данных.
Выбрать все (обозначается как *) из таблицы Customers:
Выбрать столбцы CustomerID, CustomerName из таблицы Customers:
WHERE
WHERE — необязательный элемент запроса, который используется, когда нужно отфильтровать данные по нужному условию. Очень часто внутри элемента where используются IN / NOT IN для фильтрации столбца по нескольким значениям, AND / OR для фильтрации таблицы по нескольким столбцам.
Фильтрация по одному условию и одному значению:
Фильтрация по одному условию и нескольким значениям с применением IN (включение) или NOT IN (исключение):
Фильтрация по нескольким условиям с применением AND (выполняются все условия) или OR (выполняется хотя бы одно условие) и нескольким значениям:
GROUP BY
GROUP BY — необязательный элемент запроса, с помощью которого можно задать агрегацию по нужному столбцу (например, если нужно узнать какое количество клиентов живет в каждом из городов).
При использовании GROUP BY обязательно:
Группировка количества клиентов по стране и городу:
Группировка продаж по ID товара с разными агрегатными функциями: количество заказов с данным товаром и количество проданных штук товара:
Группировка продаж с фильтрацией исходной таблицы. В данном случае на выходе будет таблица с количеством клиентов по городам Германии:
Переименование столбца с агрегацией с помощью оператора AS. По умолчанию название столбца с агрегацией равно примененной агрегатной функции, что далее может быть не очень удобно для восприятия.
HAVING
HAVING — необязательный элемент запроса, который отвечает за фильтрацию на уровне сгруппированных данных (по сути, WHERE, но только на уровень выше).
Фильтрация агрегированной таблицы с количеством клиентов по городам, в данном случае оставляем в выгрузке только те города, в которых не менее 5 клиентов:
В случае с переименованным столбцом внутри HAVING можно указать как и саму агрегирующую конструкцию count(CustomerID), так и новое название столбца number_of_clients:
Пример запроса, содержащего WHERE и HAVING. В данном запросе сначала фильтруется исходная таблица по пользователям, рассчитывается количество клиентов по городам и остаются только те города, где количество клиентов не менее 5:
ORDER BY
ORDER BY — необязательный элемент запроса, который отвечает за сортировку таблицы.
Простой пример сортировки по одному столбцу. В данном запросе осуществляется сортировка по городу, который указал клиент:
Осуществлять сортировку можно и по нескольким столбцам, в этом случае сортировка происходит по порядку указанных столбцов:
По умолчанию сортировка происходит по возрастанию для чисел и в алфавитном порядке для текстовых значений. Если нужна обратная сортировка, то в конструкции ORDER BY после названия столбца надо добавить DESC:
Обратная сортировка по одному столбцу и сортировка по умолчанию по второму:
JOIN — необязательный элемент, используется для объединения таблиц по ключу, который присутствует в обеих таблицах. Перед ключом ставится оператор ON.
Запрос, в котором соединяем таблицы Order и Customer по ключу CustomerID, при этом перед названиям столбца ключа добавляется название таблицы через точку:
Нередко может возникать ситуация, когда надо промэппить одну таблицу значениями из другой. В зависимости от задачи, могут использоваться разные типы присоединений. INNER JOIN — пересечение, RIGHT/LEFT JOIN для мэппинга одной таблицы знаениями из другой,
Внутри всего запроса JOIN встраивается после элемента from до элемента where, пример запроса:
Другие типы JOIN’ов можно увидеть на замечательной картинке ниже:
В следующей части подробнее поговорим о типах JOIN’ов и вложенных запросах.
При возникновении вопросов/пожеланий, всегда прошу обращаться!