Pull to refresh
18
0
Xayyam Sadigov @xaWam

Chapter Lead

Send message
да, учитывая возможность там NULL значений запрос можно переписать в виде
SELECT first_name,
       salary,
       CASE
           WHEN salary < 5000 THEN 'Low'
           WHEN salary >= 5000 AND salary < 10000 THEN 'Normal'
           WHEN salary >= 10000 THEN 'High'
           ELSE 'Unknown'
       END
           salary_level
  FROM employees;
Мы предпологаем что в job_id всего один символ "_" и поэтому ищем первое его вхождение.

--Запись со значением JOB_ID = 'IS_A_CLERK' будет выведена
не будет, так как не удовлетворяет условию
LENGTH (SUBSTR (job_id, INSTR (job_id, '_') + 1)) > 3


--и со значением 'AA_BB_CC'
не будет выведена, так как не удовлетворяет обоим условиям
Добавил условие на проверку наличия второй точки.
SELECT *
  FROM employees
 WHERE     MOD (SUBSTR (phone_number, -1), 2) != 0
       AND INSTR (phone_number,'.',1,3) = 0
       AND INSTR (phone_number,'.',1,2) > 0;
У меня есть ppt презентации от Oracle для преподователей. По ним и провожу уроки
Ну так напишите ваши решения ) В чем проблема? поделитесь знаниями)
Предложите пожалуйста ваши решения там где считаете что решение кривое. Будет полезно как и мне так и всем читателям. Спасибо
Спасибо за отзыв ) Буду рад вашим подробным замечаниям… напишите пожалуйста что бы вы исправили.

EXISTS — задач нет, но добавлю в список.
union/except/intersect — это тема также идет после subqueries. Ее тоже добавлю.

Конечно задачи для новичков и тех кто учится SQL. Для человека опытного задачи могут показаться не интересными и не нужными. Предложите свой список. Было бы интересно глянуть
Хороший вопрос. В основном проверяю на глаз потому что сразу вижу что не так и правильно ли составлен SQL. Если что то сложное и оригинальное решение проверяю в первую очередь верен ли результат выполнения, во вторую — саму реализацию. Стараюсь придерживатся принципа KISS
--Расскажите, вы намеренно собрали запросы с группировкой и с having в один раздел?
Я преподаю по официальной книге по подготовке к сертификации. И в ней having и group by в одной и теме. Они связаны, их лучше проходить вместе.

--Можете добавить, на каких примерах вы объясняли каждую из тем?
Так вот целью данной статьи и было показать какие задачи мы решаем со студентами по темам. Я разделил задачи по темам.
Эта задача есть как и в теме Join так и в теме Subqueries. Correlated subsquery можно заменить joinами и наобарот. Я всетаки предпочитаю чтобы студенты знали это.
Верно подмечено) Спасибо, исправил
SELECT EXTRACT (MONTH FROM SYSDATE) FROM DUAL

но все равно TO_DATE, TO_CHAR очень удобные и функциональные. С EXTRACT активно не имел дело
Проведите свое собственное расследование и напишите статью на хабре об этом и поделитесь тут ) я с удовольствием почитаю
--почему не YEAR(DATE) а какой то ужас с текстом?
В Оракле для работы с датой используется функция TO_DATE. YEAR(DATE) — в оракле такого на сколько я знаю нет.

Схему базы можно взять тут
Принципиальной разницы нет. Оба варианта верны и имеют место быть
Конечно же тут лучше использовать функцию length.
Данное решение здесь указано так потому что задача находится в теме «Restricting and Sorting Data», а предпологается что на этом этапе (это начало SQL) студент еще не знает о существовании функции length.
Для пущего укорочения кода

Можно еще более укоротить код использовав анонимный внутренний класс

public class Program		//Класс с методом main().
{
	public static void main(String[] args)
	{
		//Создание и Запуск потока
		new Thread(new Runnable()
		{
			public void run() //Этот метод будет выполняться в побочном потоке
			{
				System.out.println("Привет из побочного потока!");
			}
		}).start();

		System.out.println("Главный поток завершён...");
	}
}
А кто то сказал обратное? Есть теория? Высказывание? Док-во? Получается любую функцию можно назвать рекурсивной?
Поясните пожалуйста.
разве можно считать решение рекурсивным если нет рекурсии?
Отличное решение, но решение не является рекурсивным) Условие задачи требует решить ее с помошью рекурсии
1

Information

Rating
Does not participate
Location
Баку, Азербайджан, Азербайджан
Date of birth
Registered
Activity

Specialization

Specialist
Golang
Java
SQL
PostgreSQL
English
Database
Designing application architecture
Software development