Logo
TGCATALOG
Catálogo Selecciones Blog
Análisis de datos - DA SQL

Análisis de datos - DA SQL

Análisis de datos: SQL, Python.

Sin valoraciones
582
29.10.2026
582
29.10.2026
Sin valoraciones
582
29.10.2026
Redirección segura vía bot
О канале

Análisis de datos: SQL, Python.

Подписчиков 1,700
Тематика Tecnología
Язык Español
Ссылка t.me/business_stats

También te recomendamos

Kekaton AI  Voz en off y clon de voz
Kekaton AI Voz en off y clon de voz
Bot

bot de IA para clonar texto a voz y voz en Telegram. Cree audio utilizando la red neuronal de forma rápida y fácil.

Descripción

Acerca del análisis de datos: bases de datos, SQL, Python y más para analistas.

Últimas publicaciones

Análisis de datos - DA SQL
Análisis de datos - DA SQL
🔒Открыть пост
и посмотреть медиа
Циклы в PL/SQL: LOOP, WHILE, FOR Циклы используются для выполнения повторяющихся операций. Полезны, когда данные надо обрабатывать построчно, но работают циклы медленно. 🟠В чем различие между LOOP, WHILE и FOR? ▶️LOOP выполняется бесконечно, пока не будет явно указано условие выхода с помощью EXIT DECLARE counter NUMBER := 1; BEGIN LOOP DBMS_OUTPUT.PUT_LINE('counter: ' || counter); counter := counter + 1; EXIT WHEN counter > 5; END LOOP; END; ▶️WHILE выполняется, пока условие истинно. Если условие ложно с самого начала, цикл не выполнится ни разу DECLARE counter NUMBER := 1; BEGIN WHILE counter 10000 THEN v_bonus := emp_rec.salary * 0.15; ELSIF MONTHS_BETWEEN(SYSDATE, emp_rec.hire_date) > 60 THEN v_bonus := emp_rec.salary * 0.10; ELSE v_bonus := emp_rec.salary * 0.05; END IF; UPDATE employees SET bonus = v_bonus WHERE employee_id = emp_rec.employee_id; END LOOP; COMMIT; END; Для начала, что делает этот скрипт? Он устанавливает размер бонуса к зарплате сотрудника: если зп > 10000, то бонус = 15%; если стаж работы в компании > 5 лет, то бонус = 10%. Для всех остальных случаев бонус = 5%. После этого таблица обновляется. 🟠Почему эта задача решается с помощью цикла, а не обычных операций со множествами? Можно было бы просто написать что-то вроде этого: UPDATE employees SET bonus = CASE WHEN salary > 10000 THEN salary * 0.15 WHEN MONTHS_BETWEEN(SYSDATE, hire_date) > 60 THEN salary * 0.10 ELSE salary * 0.05 END; В целом, можно справиться с ней и обычными множествами. Но теперь усложним задачу. Вернемся к скрипту с циклом. Представим, что вдобавок ко всему написали функцию, которая имеет входные параметры employee_id и v_bonus и которая проверяет на основании этих данных, действительно ли сотруднику положено такое вознаграждение. В случае с циклом вызов этой функции можно было бы прописать после END IF и перед UPDATE. Со множествами уже сложнее. А если подобных функций будет 10? Вот в таких ситуациях циклы могут выручить. 🟠Почему именно цикл FOR, а не LOOP или WHILE? В случае с LOOP надо было бы создавать курсор; задумываться над выходом из цикла, писать разные условия по типу "выходим из цикла, когда в таблице закончились строки". В примере с FOR это всё определяется сразу после BEGIN. С WHILE похожая ситуация: создание курсора, продумывание условий по выходу из цикла.
Análisis de datos - DA SQL
Evolución de suscriptores
+-0.5% últimos 30 días
Actuales
1,700
Hace un mes
1,709
Crecimiento medio
+0 / día
Actualizado
hace 20 horas

Reseñas de canal Análisis de datos - DA SQL

Inicia sesión para dejar una reseña

Solo los usuarios registrados pueden compartir su opinión.

Aún no hay reseñas

¡Sé el primero en compartir tu experiencia con este recurso!

Recursos similares

Loading
Cambiar a tema claro
Inicio Catálogo Selecciones Blog Entrar