2026/07/01

오늘의 이야기


#스하리1000명프로젝트,
外国人労働者と話すのが難しいこともありますよね?
簡単に役立つアプリを作りました!あなたは自分の言語で書き、他の人は自分の言語でそれを見ます。
設定に基づいて自動翻訳します。
簡単なチャットに非常に便利です。機会があったら見てみてください!
https://play.google.com/store/apps/details?id=com.billcoreatech.multichat416




오늘의 이야기


#스하리1000명프로젝트

오늘 내가 만든앱 하나 알려주고 싶어, 이 앱은 알림수집기 라고 이름을 붙였는 데,
내 폰에 표시 되는 알림을 읽어서 내가 지정한 단어가 들어 있고, 지출기록을 남겨야 하는 알림이
있으면 수집하고, 카카오톡으로 친구에게 전달해 주는 기능을 구현해 줄꺼야. 📲

이번 패치에서는 하루 한번 지정한 시간에 나에게 알림(노티) 하도록 기능을 추가 했어. 🙏
한번 써보고 불편한 거 있으면 말해줘.

앱 바로가기
👉 https://play.google.com/store/apps/details?id=com.nari.notify2kakao





오늘의 이야기

SQLite 튜토리얼: Oracle 개발자를 위한 핵심 차이점 정리


sqlite



 


SQLite는 가볍고 단순한 구조 덕분에 다양한 환경에서 널리 쓰입니다. 하지만 Oracle SQL에 익숙한 개발자라면 몇 가지 문법 차이 때문에 혼란스러울 수 있습니다. 이번 튜토리얼에서는 WITH 절, DECODE 함수, ROWNUM, 버전 확인, OUTER JOIN을 중심으로 살펴봅니다.


1. WITH 절 (CTE)


SQLite에서도 공통 테이블 표현식(CTE)를 지원합니다.




sql




WITH recent_orders AS (
SELECT *
FROM orders
WHERE order_date > '2026-01-01'
)
SELECT customer_id, COUNT(*)
FROM recent_orders
GROUP BY customer_id;




👉 Oracle과 거의 동일하게 사용할 수 있습니다.


2. DECODE 함수 대체


Oracle의 DECODE는 SQLite에 없습니다. 대신 CASE 문을 사용하세요.




sql




SELECT 
CASE status
WHEN 'A' THEN 'Active'
WHEN 'I' THEN 'Inactive'
ELSE 'Unknown'
END AS status_text
FROM users;




👉 CASE 문이 더 범용적이고 가독성도 좋습니다.


3. ROWNUM 대신 쓰는 방법


SQLite에는 ROWNUM이 없습니다. 대신 두 가지 방법을 씁니다.


(1) LIMIT / OFFSET




sql




SELECT *
FROM users
LIMIT 10 OFFSET 20; -- 21번째 행부터 10개




(2) ROW_NUMBER() 윈도우 함수




sql




SELECT ROW_NUMBER() OVER (ORDER BY id) AS rn, name
FROM users;




👉 SQLite 3.25.0 이상에서 지원됩니다.


4. SQLite 버전 확인


버전 확인은 간단합니다.



  • SQL 쿼리:



  • sql




    SELECT sqlite_version();




  • CLI:



  • bash




    sqlite3 --version




  • Python:



  • python




    import sqlite3
    print(sqlite3.sqlite_version)





5. OUTER JOIN


SQLite는 LEFT OUTER JOIN만 지원합니다.




sql




SELECT u.id, u.name, o.order_date
FROM users u
LEFT OUTER JOIN orders o
ON u.id = o.user_id;





  • RIGHT OUTER JOIN → 테이블 순서를 바꿔서 LEFT JOIN으로 대체

  • FULL OUTER JOIN → LEFT JOIN과 RIGHT JOIN을 UNION으로 합쳐서 구현


마무리


Oracle에서 SQLite로 넘어올 때 가장 많이 부딪히는 차이점들을 정리했습니다.



  • WITH 절은 그대로 사용 가능

  • DECODE는 CASE로 대체

  • ROWNUM은 LIMIT/OFFSET 또는 ROW_NUMBER()

  • 버전 확인은 sqlite_version()

  • OUTER JOIN은 LEFT만 지원, FULL은 UNION으로 구현


👉 이 튜토리얼을 따라가면 Oracle 개발자도 SQLite 환경에서 빠르게 적응할 수 있습니다.





오늘의 이야기


#스하리1000명프로젝트,
한국에서 길을 잃었나요? 한국어를 못하더라도 이 앱을 사용하면 쉽게 돌아다닐 수 있습니다.
귀하의 언어로 말하면 귀하의 언어로 번역, 검색 및 결과가 표시됩니다.
여행자에게 좋습니다! 영어, 일본어, 중국어, 베트남어 등 10개 이상의 언어를 지원합니다.
지금 사용해 보세요!
https://play.google.com/store/apps/details?id=com.billcoreatech.opdgang1127




오늘의 이야기

#스하리1000명프로젝트, 外国人労働者と話すのが難しいこともありますよね? 簡単に役立つアプリを作りました!あなたは自分の言語で書き、他の人は自分の言語でそれを見ます。 設定に基づいて自動翻訳します。 簡単なチャットに非常に便利です。機会があったら見てみてください!...