{"id":6748,"date":"2026-07-12T02:05:45","date_gmt":"2026-07-12T10:05:45","guid":{"rendered":"https:\/\/www.gudusoft.com\/data-lineage-examples\/"},"modified":"2026-07-12T02:05:45","modified_gmt":"2026-07-12T10:05:45","slug":"data-lineage-examples","status":"publish","type":"page","link":"https:\/\/www.gudusoft.com\/ko\/%eb%8d%b0%ec%9d%b4%ed%84%b0-%ea%b3%84%eb%b3%b4-%ec%98%88%ec%8b%9c\/","title":{"rendered":"\ub370\uc774\ud130 \uacc4\ubcf4 \uc608\uc2dc: SQL\uacfc \ub2e4\uc774\uc5b4\uadf8\ub7a8\uc744 \ud65c\uc6a9\ud55c 6\uac00\uc9c0 \uc2e4\uc81c \uc2dc\ub098\ub9ac\uc624"},"content":{"rendered":"<p>\uc5d0\uc774 <strong>\ub370\uc774\ud130 \uacc4\ud1b5 \uc608\uc2dc<\/strong> \uad6c\uccb4\uc801\uc778 SQL \uad6c\ubb38\uc744 \ud1b5\ud574 \uc5b4\ub5a4 \uc18c\uc2a4 \ud14c\uc774\ube14\uacfc \uc5f4\uc774 \uc5b4\ub5a4 \ucd9c\ub825 \uc5f4\uc5d0 \ub370\uc774\ud130\ub97c \uc81c\uacf5\ud558\ub294\uc9c0, \uadf8\ub9ac\uace0 \ub370\uc774\ud130\uac00 \uadf8 \uacfc\uc815\uc5d0\uc11c \uc5b4\ub5a4 \ubcc0\ud658\uc744 \uac70\uce58\ub294\uc9c0 \ubcf4\uc5ec\uc90d\ub2c8\ub2e4. \uc544\ub798\uc758 \uc5ec\uc12f \uac00\uc9c0 \uc608\uc81c\ub294 \ub370\uc774\ud130 \uc5d4\uc9c0\ub2c8\uc5b4\uac00 \uc2e4\uc81c\ub85c \uc811\ud558\ub294 \uc0c1\ud669\uc744 \ub2e4\ub8f9\ub2c8\ub2e4. <code>\uc0bd\uc785-\uc120\ud0dd<\/code>\uc774 \uc608\uc81c\ub4e4\uc740 \ub2e4\uc911 CTE \ubcc0\ud658, \ubdf0 \uccb4\uc778, \ub3d9\uc801 SQL\uc744 \uc0ac\uc6a9\ud558\ub294 \uc800\uc7a5 \ud504\ub85c\uc2dc\uc800, dbt \ubaa8\ub378 \uccb4\uc778, \uadf8\ub9ac\uace0 \uad50\ucc28 \ub370\uc774\ud130\ubca0\uc774\uc2a4 ETL \ud750\ub984\uc744 \ud3ec\ud568\ud569\ub2c8\ub2e4. \uac01 \uc608\uc81c\ub294 SQL \ucffc\ub9ac\ub97c \uc81c\uacf5\ud558\uace0, \ud574\ub2f9 \ucffc\ub9ac\uc758 \uacc4\ubcf4 \uadf8\ub798\ud504\uac00 \uc5b4\ub5bb\uac8c \uc0dd\uacbc\ub294\uc9c0 \uc815\ud655\ud558\uac8c \uc124\uba85\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<div class=\"wp-block-group alignfull has-background is-layout-constrained\" style=\"background-color:#eef7fb;padding-top:24px;padding-bottom:24px\"><div class=\"wp-block-group__inner-container\">\n\n<p><strong>\uc774 \ud398\uc774\uc9c0\uc758 \ubaa8\ub4e0 \uc608\uc2dc\ub294 \uc7ac\ud604 \uac00\ub2a5\ud569\ub2c8\ub2e4.<\/strong> SQL\uc744 \ubd99\uc5ec\ub123\uc73c\uc138\uc694 <a href=\"https:\/\/sqlflow.gudusoft.com\/?utm_source=gudusoft&amp;utm_medium=website&amp;utm_campaign=data-lineage-examples\" target=\"_blank\" rel=\"noreferrer noopener\">\ubb34\ub8cc SQLFlow \uacc4\ubcf4 \uc2dc\uac01\ud654 \ub3c4\uad6c<\/a> \uadf8\ub7ec\uba74 \uc544\ub798\uc5d0 \uc124\uba85\ub41c \ub300\ud654\ud615 \ub2e4\uc774\uc5b4\uadf8\ub7a8\uc744 \uc5bb\uac8c \ub429\ub2c8\ub2e4.<\/p>\n\n<\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">\uc774 \uc608\uc2dc\ub4e4\uc744 \uc77d\ub294 \ubc29\ubc95<\/h2>\n\n\n\n<p>\uac01 \uacc4\ubcf4 \uadf8\ub798\ud504\uc5d0\ub294 \ub450 \uc885\ub958\uc758 \uc5d0\uc9c0\uac00 \uc788\uc2b5\ub2c8\ub2e4. A <strong>\uc9c1\uc811<\/strong> \uc5e3\uc9c0(edge)\ub294 \ub370\uc774\ud130\uac00 \uc18c\uc2a4 \uc5f4\uc5d0\uc11c \ub300\uc0c1 \uc5f4\ub85c \ubb3c\ub9ac\uc801\uc73c\ub85c \ud750\ub974\ub294 \uac83\uc744 \uc758\ubbf8\ud558\uba70, \uc774 \uacfc\uc815\uc5d0\uc11c \ud568\uc218\ub098 \uc9d1\uacc4 \ud568\uc218\ub97c \uac70\uce60 \uc218\ub3c4 \uc788\uc2b5\ub2c8\ub2e4. <strong>\uac04\uc811<\/strong> edge\ub294 \uc5f4\uc774 \uacb0\uacfc\uc5d0 \uc9c1\uc811 \ub2ff\uc9c0 \uc54a\uace0 \uacb0\uacfc\ub97c \ud615\uc131\ud558\ub294 \uac83\uc744 \uc758\ubbf8\ud569\ub2c8\ub2e4. \uc0ac\uc6a9\ub41c \uc5f4\uc740 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4. <code>\uc5b4\ub514<\/code>, <code>\uac00\uc785\ud558\ub2e4<\/code>, \uadf8\ub9ac\uace0 <code>\uadf8\ub8f9\ud654 \uae30\uc900<\/code> \uc870\ud56d\ub4e4. \uac04\uc811\uc801\uc778 \uc601\ud5a5\uc744 \uac04\uacfc\ud558\ub294 \uac83\uc774 \uc601\ud5a5 \ubd84\uc11d\uc774 \uc798\ubabb\ub418\ub294 \uc774\uc720\uc785\ub2c8\ub2e4. \ud544\ud130 \uc5f4\uc744 \uc0ad\uc81c\ud558\ub294 \uac83\ub9cc\uc73c\ub85c\ub3c4 \uc120\ud0dd\ub41c \uc5f4\uc744 \uc0ad\uc81c\ud558\ub294 \uac83\ub9cc\ud07c\uc774\ub098 \ubcf4\uace0\uc11c\uac00 \uc81c\ub300\ub85c \uc791\ub3d9\ud558\uc9c0 \uc54a\uae30 \ub54c\ubb38\uc785\ub2c8\ub2e4. \uc774\ub7ec\ud55c \uc6a9\uc5b4\uac00 \uc0dd\uc18c\ud558\ub2e4\uba74 \ub2e4\uc74c\ubd80\ud130 \uc2dc\uc791\ud574 \ubcf4\uc138\uc694. <a href=\"https:\/\/www.gudusoft.com\/ko\/%eb%8d%b0%ec%9d%b4%ed%84%b0-%ea%b3%84%eb%b3%b4%eb%9e%80-%eb%ac%b4%ec%97%87%ec%9d%b8%ea%b0%80\/\">\ub370\uc774\ud130 \uacc4\ubcf4\ub780 \ubb34\uc5c7\uc778\uac00<\/a> \uadf8\ub9ac\uace0 <a href=\"https:\/\/www.gudusoft.com\/ko\/%ec%bb%ac%eb%9f%bc-%ec%88%98%ec%a4%80-%eb%8d%b0%ec%9d%b4%ed%84%b0-%ea%b3%84%eb%b3%b4\/\">\uceec\ub7fc \uc218\uc900 \uacc4\ubcf4\ub294 \uc5b4\ub5bb\uac8c \uc791\ub3d9\ud558\ub294\uac00<\/a>\uadf8\ub7ec\uace0 \ub098\uc11c \ub3cc\uc544\uc624\uc138\uc694.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\uc608\uc2dc 1: \uac04\ub2e8\ud55c INSERT-SELECT \ub370\uc774\ud130 \uacc4\ubcf4 \uc608\uc2dc<\/h2>\n\n\n\n<p>\uacc4\ubcf4\uc5d0 \ub300\ud55c \ub17c\uc758\uc758 \ucd9c\ubc1c\uc810\uc740 \uc9d1\uacc4\ub41c \ub370\uc774\ud130\ub97c \uc694\uc57d\ud45c\uc5d0 \uae30\ub85d\ud55c \ud558\ub098\uc758 \uc9c4\uc220\uc785\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>INSERT INTO sales_summary (region, total_amount) SELECT c.region, SUM(o.amount) FROM orders o JOIN customers c ON o.customer_id = c.id WHERE o.status = &#039;completed&#039; GROUP BY c.region;<\/code><\/pre>\n\n\n\n<p>\uacc4\ubcf4 \uadf8\ub798\ud504\uc5d0\ub294 \uc138 \uac1c\uc758 \ud14c\uc774\ube14\uc774 \uc788\uc2b5\ub2c8\ub2e4(<code>\uba85\ub839<\/code>, <code>\uace0\uac1d<\/code>, <code>\ud310\ub9e4 \uc694\uc57d<\/code>) \uadf8\ub9ac\uace0 \uc774\ub7ec\ud55c \uc5f4 \uc218\uc900 \uc5d0\uc9c0:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>\ub300\uc0c1 \uc5f4<\/th><th>\uc6d0\ubcf8 \uc5f4<\/th><th>\uc5e3\uc9c0 \ud0c0\uc785<\/th><th>\uc744 \ud1b5\ud574<\/th><\/tr><\/thead><tbody>\n<tr><td><code>\ud310\ub9e4 \uc694\uc57d.\uc9c0\uc5ed<\/code><\/td><td><code>\uace0\uac1d \uc9c0\uc5ed<\/code><\/td><td>\uc9c1\uc811<\/td><td>\uc77c\ubc18 \uc0ac\ubcf8<\/td><\/tr>\n<tr><td><code>\ud310\ub9e4 \uc694\uc57d.\ucd1d\uc561<\/code><\/td><td><code>\uc8fc\ubb38 \uae08\uc561<\/code><\/td><td>\uc9c1\uc811<\/td><td><code>\ud569\uc9d1\ud569()<\/code><\/td><\/tr>\n<tr><td><code>\ud310\ub9e4 \uc694\uc57d.*<\/code><\/td><td><code>\uc8fc\ubb38 \uc0c1\ud0dc<\/code><\/td><td>\uac04\uc811<\/td><td><code>\uc5b4\ub514<\/code> \ud544\ud130<\/td><\/tr>\n<tr><td><code>\ud310\ub9e4 \uc694\uc57d.*<\/code><\/td><td><code>\uc8fc\ubb38.\uace0\uac1d_ID<\/code>, <code>\uace0\uac1d ID<\/code><\/td><td>\uac04\uc811<\/td><td><code>\uac00\uc785\ud558\ub2e4<\/code> \uc0c1\ud0dc<\/td><\/tr>\n<\/tbody><\/table><\/figure>\n\n\n\n<p>\uadf8\ub798\ud504\uac00 \uc774\ubbf8 \uc54c\ub824\uc8fc\ub294 \ub0b4\uc6a9 \uc911 \ud14c\uc774\ube14 \uc218\uc900 \ubcf4\uae30\uc5d0\uc11c\ub294 \uc54c \uc218 \uc5c6\ub294 \ubd80\ubd84\uc744 \uc8fc\ubaa9\ud558\uc138\uc694. <code>\uace0\uac1d \uc774\uba54\uc77c<\/code> \uadf8\ub9ac\uace0 \ub098\uba38\uc9c0 \uc190\ub300\uc9c0 \uc54a\uc740 \uc5f4\ub4e4\uc740 \uc5ec\uae30\uc11c \uc544\ubb34\ub7f0 \uc5ed\ud560\ub3c4 \ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. <code>\uc8fc\ubb38 \uc0c1\ud0dc<\/code> \ucd9c\ub825 \uacb0\uacfc\uc5d0 \ub098\ud0c0\ub098\uc9c0 \uc54a\ub354\ub77c\ub3c4 \uc911\uc694\ud55c \uc694\uc18c\uc785\ub2c8\ub2e4. \ub9ce\uc740 \uacc4\ubcf4 \ub3c4\uad6c\ub294 \uc774\ub7ec\ud55c \ub9c8\uc9c0\ub9c9 \ubd80\ubd84\uc744 \uc644\uc804\ud788 \uac74\ub108\ub6f0\uc9c0\ub9cc, SQLFlow\ub294 \uc9c1\uc811 \uacc4\ubcf4\uc640 \uac04\uc811 \uacc4\ubcf4\ub97c \ubcc4\ub3c4\uc758 \uc804\ud658 \uac00\ub2a5\ud55c \uad00\uacc4 \uc720\ud615\uc73c\ub85c \ubaa8\ub378\ub9c1\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\uc608\uc2dc 2: \ub2e4\uc911 CTE \ubcc0\ud658<\/h2>\n\n\n\n<p>CTE\ub294 \uc190\uc73c\ub85c \uadf8\ub9b0 \uacc4\ubcf4\ub3c4\uac00 \uc2dc\uc791\ub418\ub294 \uc9c0\uc810\uc778\ub370, \uac01 CTE\ub294 \uadf8\ub798\ud504\uac00 \uc6d0\ub798 \uc18c\uc2a4\ub97c \uc783\uc9c0 \uc54a\uace0 \uac70\uccd0\uc57c \ud558\ub294 \uc784\uc2dc \uad00\uacc4\uc774\uae30 \ub54c\ubb38\uc785\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>WITH daily AS ( SELECT order_date, customer_id, SUM(amount) AS day_total FROM orders GROUP BY order_date, customer_id ), ranked AS ( SELECT customer_id, day_total, ROW_NUMBER() OVER (PARTITION BY customer_id ORDER BY day_total DESC) AS rn FROM daily ) SELECT customer_id, day_total AS best_day_revenue FROM ranked WHERE rn = 1;<\/code><\/pre>\n\n\n\n<p>\uacc4\ubcf4 \uadf8\ub798\ud504\uac00 \ud45c\uc2dc\ub429\ub2c8\ub2e4 <code>\uc77c\uc77c<\/code> \uadf8\ub9ac\uace0 <code>\uc21c\uc704<\/code> \uc911\uac04 \ub178\ub4dc\ub85c\uc11c, \uad00\uc2ec \uc788\ub294 \uc5f4\uc758 \uc804\uccb4 \uacbd\ub85c\ub294 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4. <code>\uc8fc\ubb38 \uae08\uc561<\/code> \u2192 <code>\ud569\uc9d1\ud569()<\/code> \u2192 <code>\uc77c\uc77c \ud569\uacc4<\/code> \u2192 <code>\uc21c\uc704.\uc77c_\ucd1d\ud569<\/code> \u2192 <code>\ucd5c\uace0 \ub9e4\ucd9c<\/code>\uc708\ub3c4\uc6b0 \ud568\uc218\ub294 \ubcf4\ub2e4 \ubbf8\ubb18\ud55c \uc5f0\uc1c4 \ubc18\uc751\uc744 \uc77c\uc73c\ud0b5\ub2c8\ub2e4. <code>rn<\/code> \ub294 \ub2e4\uc74c\uc73c\ub85c\ubd80\ud130 \uacc4\uc0b0\ub429\ub2c8\ub2e4. <code>\uace0\uac1d ID<\/code> (\ubd84\ud560) \ubc0f <code>\uc77c\ubcc4 \ud569\uacc4<\/code> (\uc21c\uc11c\ub300\ub85c), \uadf8\ub9ac\uace0 \ub098\uc11c <code>\uc5ec\uae30\uc11c rn = 1<\/code> \ub9cc\ub4e4\ub2e4 <code>rn<\/code> \ubaa8\ub4e0 \ucd9c\ub825 \uc5f4\uc5d0 \ub300\ud55c \uac04\uc811 \uc785\ub825\uc785\ub2c8\ub2e4. \ub530\ub77c\uc11c <code>\uc8fc\ubb38 \uae08\uc561<\/code> \uc601\ud5a5 <code>\ucd5c\uace0 \ub9e4\ucd9c<\/code> \ub450 \uac00\uc9c0 \uacbd\ub85c\uac00 \uc788\uc2b5\ub2c8\ub2e4. \ud558\ub098\ub294 \ud569\uacc4\ub97c \ud1b5\ud55c \uc9c1\uc811\uc801\uc778 \uacbd\ub85c\uc774\uace0, \ub2e4\ub978 \ud558\ub098\ub294 \uc5b4\ub5a4 \ud589\uc774 \ub0a8\uc744\uc9c0 \uacb0\uc815\ud558\ub294 \uc21c\uc704\ub97c \ud1b5\ud55c \uac04\uc811\uc801\uc778 \uacbd\ub85c\uc785\ub2c8\ub2e4. \uc5f4 \uc774\ub984\ub9cc \ud328\ud134\uc73c\ub85c \uc77c\uce58\uc2dc\ud0a4\ub294 \ub9ac\uc878\ubc84\ub294 \ub450 \ubc88\uc9f8 \uacbd\ub85c\ub97c \uc778\uc2dd\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\uc608\uc2dc 3: \uc77c\ub828\uc758 \uad00\uc810<\/h2>\n\n\n\n<p>\ubdf0\ub294 \ub204\uc801\ub429\ub2c8\ub2e4. \uc798 \uad6c\ucd95\ub41c \ub370\uc774\ud130 \uc6e8\uc5b4\ud558\uc6b0\uc2a4\uc5d0\uc11c\ub294 \ubcf4\uace0\uc11c\uac00 \ubb3c\ub9ac\uc801 \ud14c\uc774\ube14\uc5d0\uc11c 3~4\ub2e8\uacc4\uc758 \ubdf0 \uc815\uc758\ub97c \uac70\uccd0\uc57c \ud558\ub294 \uacbd\uc6b0\uac00 \ub9ce\uc73c\uba70, &quot;\uc774 \uc22b\uc790\ub294 \uc2e4\uc81c\ub85c \uc5b4\ub514\uc5d0\uc11c \uc628 \uac83\uc77c\uae4c?&quot;\ub77c\ub294 \uc9c8\ubb38\uc5d0 \ub2f5\ud558\ub824\uba74 \uc804\uccb4 \uacfc\uc815\uc744 \uc0b4\ud3b4\ubd10\uc57c \ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>CREATE VIEW v_active_customers AS SELECT id, name, email FROM customers WHERE status = &#039;active&#039;; CREATE VIEW v_customer_revenue AS SELECT a.id, a.name, SUM(o.amount) AS revenue FROM v_active_customers a JOIN orders o ON o.customer_id = a.id GROUP BY a.id, a.name;<\/code><\/pre>\n\n\n\n<p>\uadf8\ub798\ud504\ub294 \ub2e4\uc74c\uc744 \ubcf4\uc5ec\uc90d\ub2c8\ub2e4 <code>v_\uace0\uac1d_\uc218\uc775.\uc218\uc775<\/code> \uc2dc\uc57c \uacbd\uacc4\ub97c \ub530\ub77c \ub2e4\uc2dc \ucd94\uc801\ud558\uc5ec <code>\uc8fc\ubb38 \uae08\uc561<\/code>, \uc640 \ud568\uaed8 <code>\uace0\uac1d \uc0c1\ud0dc<\/code> \uccab \ubc88\uc9f8 \ubdf0\uc758 \ud544\ud130\uc5d0\uc11c \uc0c1\uc18d\ubc1b\uc740 \uac04\uc811 \uc5d0\uc9c0\ub85c \uc5f0\uacb0\ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4. \ub610\ud55c \ubc18\ub300 \ubc29\ud5a5\uc73c\ub85c\ub3c4 \uc720\uc6a9\ud55c \uc815\ubcf4\ub97c \uc81c\uacf5\ud569\ub2c8\ub2e4. <code>v_active_customers.email<\/code> \uccab \ubc88\uc9f8 \ubdf0\uc5d0\uc11c \uc120\ud0dd\ub418\uc9c0\ub9cc \ud558\uc704 \ub2e8\uacc4\uc5d0\uc11c\ub294 \uc804\ud600 \uc0ac\uc6a9\ub418\uc9c0 \uc54a\ub294 \uc5f4\uc785\ub2c8\ub2e4. \uc774\ucc98\ub7fc \uc0ac\uc6a9\ub418\uc9c0 \uc54a\ub294 \uc5f4\uc740 \uc815\ub9ac \ub610\ub294 \ub9c8\uc774\uadf8\ub808\uc774\uc158 \uc804\uc5d0 \ucc3e\uc544\ub0b4\uc57c \ud560 \ub300\uc0c1\uc774\uba70, \ud14c\uc774\ube14 \uc218\uc900\uc5d0\uc11c\ub294 \ubcf4\uc774\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \ubdf0 \uc815\uc758\uc5d0\uc11c \uc0ac\uc6a9\ud558\ub294 \uacbd\uc6b0 <code>\uc120\ud0dd\ud558\ub2e4 *<\/code>SQLFlow\ub294 \uc2a4\ud0a4\ub9c8\uc5d0 \ub300\ud574 \ubcc4\ud45c\ub97c \ud655\uc7a5\ud558\ubbc0\ub85c \uc0c1\uc18d\ub41c \ubaa8\ub4e0 \uc5f4\uc740 \uc5ec\uc804\ud788 \ubb3c\ub9ac\uc801 \uc18c\uc2a4\ub85c \ud655\uc778\ub429\ub2c8\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\uc608\uc81c 4: \ub3d9\uc801 SQL\uc744 \uc0ac\uc6a9\ud55c \uc800\uc7a5 \ud504\ub85c\uc2dc\uc800<\/h2>\n\n\n\n<p>\uc774 \uc608\uc2dc\ub294 \ub300\uc0c1 \ud14c\uc774\ube14 \uc774\ub984\uc774 \ucf54\ub4dc\uc5d0 \ubb38\uc790 \uadf8\ub300\ub85c \uc874\uc7ac\ud558\uc9c0 \uc54a\uae30 \ub54c\ubb38\uc5d0 \ub9ac\ub2c8\uc9c0 \ub3c4\uad6c\ub4e4\uc744 \uad6c\ubd84\ud558\ub294 \uae30\uc900\uc774 \ub429\ub2c8\ub2e4. \ub2e4\uc74c\uc740 \uc784\uc2dc \ud14c\uc774\ube14\uacfc \ub3d9\uc801\uc73c\ub85c \uc0dd\uc131\ub41c \ud14c\uc774\ube14\uc744 \ud1b5\ud574 \uc6d4\ubcc4 \uc2a4\ub0c5\uc0f7\uc744 \uc0dd\uc131\ud558\ub294 SQL Server \ud504\ub85c\uc2dc\uc800\uc785\ub2c8\ub2e4. <code>\ub07c\uc6cc \ub123\ub2e4<\/code>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>CREATE PROCEDURE dbo.load_monthly_snapshot @month VARCHAR(7) AS BEGIN SELECT o.customer_id, SUM(o.amount) AS month_total INTO #monthly FROM dbo.orders o WHERE CONVERT(VARCHAR(7), o.order_date, 126) = @month GROUP BY o.customer_id; DECLARE @sql NVARCHAR(MAX) = N&#039;INSERT INTO dbo.snapshot_monthly (customer_id, month_total) &#039; + N&#039;SELECT customer_id, month_total FROM #monthly&#039;; EXEC sp_executesql @sql; END<\/code><\/pre>\n\n\n\n<p>\uc62c\ubc14\ub978 \uacc4\ubcf4 \uadf8\ub798\ud504\ub294 \ub450 \uac00\uc9c0 \uc7a5\uc560\ubb3c\uc744 \ubaa8\ub450 \ud1b5\uacfc\ud569\ub2c8\ub2e4. <code>\uc8fc\ubb38 \uae08\uc561<\/code> \u2192 <code>\ud569\uc9d1\ud569()<\/code> \u2192 <code>#\uc6d4\uac04.\uc6d4_\ucd1d\uacc4<\/code> \u2192 <code>\uc2a4\ub0c5\uc0f7_\uc6d4.\uc6d4_\ucd1d\uacc4<\/code>, \uc640 \ud568\uaed8 <code>\uc8fc\ubb38.\uc8fc\ubb38_\ub0a0\uc9dc<\/code> \uac04\uc811\uc801\uc778 \uc5d0\uc9c0\ub85c\uc11c <code>\uc5b4\ub514<\/code> \uc870\ud56d\uacfc <code>@\uc6d4<\/code> \ud574\ub2f9 \ud544\ud130\uc758 \uc785\ub825\uc73c\ub85c \ucd94\uc801\ub418\ub294 \ub9e4\uac1c\ubcc0\uc218\uc785\ub2c8\ub2e4. \uc774\ub97c \uad6c\ud604\ud558\ub824\uba74 \uc2e4\uc81c T-SQL \ud504\ub85c\uc2dc\uc800 \ud30c\uc11c(\ubb38\uc7a5 \ubd84\ud560\uae30\uac00 \uc544\ub2cc), \ubb38\uc7a5 \uac04 \uc784\uc2dc \ud14c\uc774\ube14 \ucd94\uc801, \uadf8\ub9ac\uace0 \uc804\ub2ec\ub41c SQL \ubb38\uc790\uc5f4\uc758 \ud574\uc11d\uc774 \ud544\uc694\ud569\ub2c8\ub2e4. <code>sp_executesql<\/code>. SQLFlow has dedicated procedural parsers for SQL Server T-SQL and Oracle PL\/SQL, resolves dynamic SQL inside procedures, and additionally renders a call graph of which procedures invoke which, so procedure-to-procedure lineage is visible too. Dynamic SQL is the most common blind spot in lineage tooling; if you evaluate any tool, test it with this pattern first.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\uc608\uc2dc 5: dbt \ubaa8\ub378 \uccb4\uc778<\/h2>\n\n\n\n<p>dbt\ub294 \ubcc4\ub3c4\uc758 \uc124\uc815 \uc5c6\uc774 \ubaa8\ub378 \uc218\uc900\uc758 \uacc4\ubcf4 \uc815\ubcf4\ub97c \uc81c\uacf5\ud569\ub2c8\ub2e4. <code>ref()<\/code>\ud558\uc9c0\ub9cc \ud765\ubbf8\ub85c\uc6b4 \uc9c8\ubb38\uc740 \uc5f4 \uc218\uc900\uc5d0\uc11c \ubc1c\uc0dd\ud569\ub2c8\ub2e4. \uc5b4\ub5a4 \uc18c\uc2a4 \ud544\ub4dc\uac00 \uc5b4\ub5a4 \uc2a4\ud14c\uc774\uc9d5 \uc774\ub984 \ubcc0\uacbd\uc744 \uac70\uccd0 \uc5b4\ub5a4 \ub9c8\ud2b8 \uc5f4\uc5d0 \ub370\uc774\ud130\ub97c \uc81c\uacf5\ud558\ub294\uac00 \ud558\ub294 \uac83\uc785\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>-- models\/staging\/stg_orders.sql SELECT id AS order_id, customer_id, amount, status FROM {{ source(&#039;raw&#039;, &#039;orders&#039;) }} -- models\/marts\/fct_customer_revenue.sql SELECT customer_id, SUM(amount) AS lifetime_revenue FROM {{ ref(&#039;stg_orders&#039;) }} WHERE status = &#039;completed&#039; GROUP BY customer_id<\/code><\/pre>\n\n\n\n<p>\ud504\ub85c\uc81d\ud2b8\uc758 dbt \ub9e4\ub2c8\ud398\uc2a4\ud2b8\ub97c SQLFlow\ub85c \uac00\uc838\uc624\uba74 \uadf8\ub798\ud504\uac00 \ud15c\ud50c\ub9bf\ud654\ub41c \ucc38\uc870\ub97c \uad6c\uccb4\uc801\uc778 \uc5f4 \uccb4\uc778\uc73c\ub85c \ud574\uc11d\ud569\ub2c8\ub2e4. <code>\uc6d0 \uc8fc\ubb38 \uae08\uc561<\/code> \u2192 <code>stg_orders.amount<\/code> \u2192 <code>\ud569\uc9d1\ud569()<\/code> \u2192 <code>fct_\uace0\uac1d_\uc218\uc775.\ud3c9\uc0dd_\uc218\uc775<\/code>\uc774\ub984\uc774 \ubc14\ub00c\uba74\uc11c <code>ID<\/code> \u2192 <code>\uc8fc\ubb38 ID<\/code> \uc2a4\ud14c\uc774\uc9d5 \ud649\uc5d0 \ubcf4\uc874\ub428 <code>\uc0c1\ud0dc<\/code> \ub9c8\ud2b8\uc758 \ud544\ud130\uc5d0\uc11c \uac04\uc811\uc801\uc778 \uc5d0\uc9c0\ub85c \uc804\ub2ec\ub429\ub2c8\ub2e4. \ub9e4\ub2c8\ud398\uc2a4\ud2b8\uac00 \ubaa8\ub378\uc744 \ud574\ub2f9 \ubaa8\ub378\uc774 \uad6c\ucd95\ud558\ub294 \uc6e8\uc5b4\ud558\uc6b0\uc2a4 \uac1d\uccb4\uc640 \uc5f0\uacb0\ud558\uae30 \ub54c\ubb38\uc5d0 \ub3d9\uc77c\ud55c \uadf8\ub798\ud504\uac00 dbt\uc5d0\uc11c \uad00\ub9ac\ud558\ub294 \uacc4\ubcf4\ub97c dbt \uc678\ubd80\uc5d0\uc11c \ud574\ub2f9 \ud14c\uc774\ube14\uc5d0 \uc811\uadfc\ud558\ub294 \ubaa8\ub4e0 \uac83\uacfc \uc77c\uce58\uc2dc\ud0b5\ub2c8\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\uc608\uc81c 6: \uad50\ucc28 \ub370\uc774\ud130\ubca0\uc774\uc2a4 ETL<\/h2>\n\n\n\n<p>\ubd80\ub3d9\uc0b0\uc740 \uc5d4\uc9c4 \uc804\ubc18\uc5d0 \uac78\uccd0 \uc788\uc2b5\ub2c8\ub2e4. \uc77c\ubc18\uc801\uc778 \ud750\ub984\uc740 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4. \uc6b4\uc601 \uc911\uc778 SQL Server \ub370\uc774\ud130\ubca0\uc774\uc2a4\uac00 \ud074\ub77c\uc6b0\ub4dc \uc2a4\ud1a0\ub9ac\uc9c0\ub85c \ucd94\ucd9c\ub418\uc5b4 Snowflake \uc2a4\ud14c\uc774\uc9d5\uc5d0 \ub85c\ub4dc\ub41c \ub2e4\uc74c \ubd84\uc11d \uc2a4\ud0a4\ub9c8\ub85c \ubcc0\ud658\ub429\ub2c8\ub2e4. \ub85c\ub4dc \ubc0f \ubcc0\ud658 \uacfc\uc815\uc740 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>-- Snowflake COPY INTO staging.orders_raw FROM @s3_extract\/orders\/; INSERT INTO analytics.fct_orders (order_id, customer_id, amount_usd) SELECT r.order_id, r.customer_id, r.amount * fx.rate FROM staging.orders_raw r JOIN staging.fx_rates fx ON fx.currency = r.currency;<\/code><\/pre>\n\n\n\n<p>\uc2a4\ub178\uc6b0\ud50c\ub808\uc774\ud06c \uce21\uc5d0\uc11c \uadf8\ub798\ud504\ub294 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4. <code>\uae08\uc561_\ub2ec\ub7ec<\/code> \ub450 \uac1c\uc758 \uc9c1\uc811\uc801\uc778 \ubd80\ubaa8\ub97c \uac00\uc9c4 \uacc4\uc0b0 \uc5f4\ub85c\uc11c, <code>\uc8fc\ubb38_\uc6d0\uae08<\/code> \uadf8\ub9ac\uace0 <code>fx_rates.rate<\/code>\uc0b0\uc220 \ud45c\ud604\uc2dd\uc744 \ud1b5\ud574 \uc5f0\uacb0\ub41c \uac83, \uadf8\ub9ac\uace0 \ub354\ud558\uae30 <code>\ud1b5\ud654<\/code> \uc870\uc778 \uc870\uac74\uc5d0\uc11c \ud30c\uc0dd\ub41c \uac04\uc811\uc801\uc778 \uc5f0\uacb0\uc120\uc785\ub2c8\ub2e4. \uc804\uccb4 \ud30c\uc774\ud504\ub77c\uc778\uc744 \ucc98\ub9ac\ud558\uae30 \uc704\ud574 SQLFlow\uc5d0\ub294 \uc591\ucabd \ubaa8\ub450\uc5d0 \uac01\uac01\uc758 \ubc29\uc5b8\uc73c\ub85c \ub370\uc774\ud130\ub97c \uc785\ub825\ud569\ub2c8\ub2e4. T-SQL \ucd94\ucd9c \ub85c\uc9c1\uc740 SQL Server \ud30c\uc11c\ub85c, Snowflake \uc2a4\ud06c\ub9bd\ud2b8\ub294 Snowflake \ud30c\uc11c\ub85c \ud30c\uc2f1\ud558\uba70, \ucd1d 39\uac1c\uc758 \ubc29\uc5b8\ubcc4 \ud30c\uc11c\uac00 \uc81c\uacf5\ub429\ub2c8\ub2e4. \uc5d4\ud130\ud504\ub77c\uc774\uc988 \ud658\uacbd\uc5d0\uc11c\ub294 100\uac1c \uc774\uc0c1\uc758 \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc640 \ubc31\ub9cc \uac1c \uc774\uc0c1\uc758 \uc5f4\uc744 \ud3ec\ud568\ud558\ub294 \ub300\uaddc\ubaa8 \ud658\uacbd\uc744 \uc77c\uad04 \uc2a4\uce94\ud558\ub294 \uc601\uad6c\uc801\uc778 \ub370\uc774\ud130 \uacc4\ubcf4 \uc800\uc7a5\uc18c\uc5d0 \uacb0\uacfc\uac00 \uc800\uc7a5\ub429\ub2c8\ub2e4. \ub530\ub77c\uc11c SQL Server\uc5d0\uc11c Snowflake\uae4c\uc9c0\uc758 \uc804\uccb4 \ud30c\uc774\ud504\ub77c\uc778\uc744 \ud558\ub098\uc758 \uadf8\ub798\ud504\ub85c \uc2dc\uac01\ud654\ud558\uace0 DataHub, Microsoft Purview \ub610\ub294 OpenMetadata\ub85c \ub0b4\ubcf4\ub0bc \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\uc774 \uc5ec\uc12f \uac00\uc9c0 \uc0ac\ub840\uc758 \uacf5\ud1b5\uc810\uc740 \ubb34\uc5c7\uc77c\uae4c\uc694?<\/h2>\n\n\n\n<p>\uc704\uc758 \ubaa8\ub4e0 \uadf8\ub798\ud504\ub294 \uc21c\uc804\ud788 SQL \ud14d\uc2a4\ud2b8\uc640 \uc2a4\ud0a4\ub9c8 \uba54\ud0c0\ub370\uc774\ud130\ub9cc\uc744 \uae30\ubc18\uc73c\ub85c \uc0dd\uc131\ub418\uc5c8\uc2b5\ub2c8\ub2e4. \uc774\uac83\uc774 \ubc14\ub85c \ud575\uc2ec \ubc29\ubc95\ub860\uc785\ub2c8\ub2e4. <a href=\"https:\/\/www.gudusoft.com\/ko\/sql-%eb%8d%b0%ec%9d%b4%ed%84%b0-%ea%b3%84%eb%b3%b4-%eb%8f%84%ea%b5%ac\/\">SQL \uae30\ubc18 \ub370\uc774\ud130 \uacc4\ubcf4<\/a>\ubcc0\ud658 \ub85c\uc9c1\uc774 \uc774\ubbf8 SQL\uc5d0 \uc874\uc7ac\ud558\ubbc0\ub85c, \ud574\ub2f9 SQL\uc5d0 \ub300\ud55c \uc815\uc801 \ubd84\uc11d\uc744 \ud1b5\ud574 \uc5d0\uc774\uc804\ud2b8\ub098 \ucffc\ub9ac \ub85c\uadf8 \uc811\uadfc \uc5c6\uc774, \uadf8\ub9ac\uace0 \ub370\uc774\ud130\uc758 \uc5b4\ub5a4 \ud589\ub3c4 \uc77d\uc9c0 \uc54a\uace0\ub3c4 \ub370\uc774\ud130 \uacc4\ubcf4\ub97c \uc7ac\uad6c\uc131\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc608\uc81c \uac04\uc758 \ucc28\uc774\uc810\uc740 \ub2e8\uc77c SQL\uc5d0\uc11c \uad6c\ubb38 \ubd84\uc11d\uc758 \ub09c\uc774\ub3c4\uc5d0 \uc788\uc744 \ubfd0\uc785\ub2c8\ub2e4. <code>\uc0bd\uc785-\uc120\ud0dd<\/code> \ud504\ub85c\uc2dc\uc800 \ub0b4\uc5d0\uc11c \ub3d9\uc801 SQL\uc744 \uc0ac\uc6a9\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>\uc608<\/th><th>\uc6b4\ub3d9 \ud6a8\uacfc<\/th><th>\uc5b4\ub824\uc6b4 \ubd80\ubd84<\/th><\/tr><\/thead><tbody>\n<tr><td>1. \uc0bd\uc785-\uc120\ud0dd<\/td><td>\uc9c1\uc811 \uc5d0\uc9c0 vs \uac04\uc811 \uc5d0\uc9c0<\/td><td>\ubaa8\ub378\ub9c1 <code>\uc5b4\ub514<\/code>\/<code>\uac00\uc785\ud558\ub2e4<\/code> \uacc4\ubcf4\ub85c\uc11c\uc758 \uc5f4<\/td><\/tr>\n<tr><td>2. \ub2e4\uc911 CTE<\/td><td>\uc911\uac04 \uad00\uacc4<\/td><td>\uc708\ub3c4\uc6b0 \ud568\uc218 \uc785\ub825; \uc21c\uc704 \uae30\ubc18 \ud544\ud130 \uacbd\ub85c<\/td><\/tr>\n<tr><td>3. \uccb4\uc778 \ubcf4\uae30<\/td><td>\uc911\ucca9\ub41c \uc815\uc758<\/td><td>\ubcc4\uc758 \ud655\uc7a5; \uc8fd\uc740 \uae30\ub465 \ucc3e\uae30<\/td><\/tr>\n<tr><td>4. \uc800\uc7a5 \ud504\ub85c\uc2dc\uc800<\/td><td>\uc808\ucc28 \ucf54\ub4dc<\/td><td>\uc784\uc2dc \ud14c\uc774\ube14 \ubc0f \ub3d9\uc801 SQL \ud574\uc11d<\/td><\/tr>\n<tr><td>5. dbt \uccb4\uc778<\/td><td>\ud15c\ud50c\ub9bf\ud654\ub41c SQL<\/td><td>\ud574\uacb0 \uc911 <code>ref()<\/code>\/<code>\uc6d0\ucc9c()<\/code> \uc2e4\uc81c \uc0ac\ubb3c\uc5d0<\/td><\/tr>\n<tr><td>6. \ud06c\ub85c\uc2a4 \ub370\uc774\ud130\ubca0\uc774\uc2a4 ETL<\/td><td>\ub2e4\uc591\ud55c \ubc29\uc5b8<\/td><td>\uc5d4\uc9c4\ubcc4 \uadf8\ub798\ud504\ub97c \ud558\ub098\uc758 \uc800\uc7a5\uc18c\ub85c \ud1b5\ud569<\/td><\/tr>\n<\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">\uc790\uc8fc \ubb3b\ub294 \uc9c8\ubb38<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">\ub370\uc774\ud130 \uacc4\ubcf4\ub3c4\ub780 \ubb34\uc5c7\uc778\uac00\uc694?<\/h3>\n\n\n<p>\ub370\uc774\ud130 \uacc4\ubcf4 \ub2e4\uc774\uc5b4\uadf8\ub7a8\uc740 \ub178\ub4dc\uac00 \ud14c\uc774\ube14, \ubdf0 \ub610\ub294 \uceec\ub7fc\uc774\uace0 \uc5d0\uc9c0\uac00 SQL \ubcc0\ud658\uc744 \ud1b5\ud574 \ub370\uc774\ud130\uac00 \uc774\ub4e4 \uac04\uc5d0 \uc5b4\ub5bb\uac8c \ud750\ub974\ub294\uc9c0\ub97c \ubcf4\uc5ec\uc8fc\ub294 \ubc29\ud5a5 \uadf8\ub798\ud504\uc785\ub2c8\ub2e4. \uc774 \ud398\uc774\uc9c0\uc5d0\uc11c \uc124\uba85\ud558\ub294 \uac83\uacfc \uac19\uc740 \uceec\ub7fc \uc218\uc900 \ub2e4\uc774\uc5b4\uadf8\ub7a8\uc740 \uc18c\uc2a4 \uceec\ub7fc\uacfc \ub300\uc0c1 \uceec\ub7fc \uac04\uc758 \uad00\uacc4\ub9c8\ub2e4 \ud558\ub098\uc758 \uc5d0\uc9c0\ub97c \uadf8\ub9ac\uace0, \ud574\ub2f9 \uc5d0\uc9c0\ub97c \uc0dd\uc131\ud55c \ud568\uc218 \ub610\ub294 \uc808\uc744 \uc8fc\uc11d\uc73c\ub85c \ud45c\uc2dc\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\uc81c\uac00 \uc9c1\uc811 \uc774\ub7ec\ud55c \uc608\uc2dc\ub4e4\uc744 \uc7ac\ud604\ud560 \uc218 \uc788\uc744\uae4c\uc694?<\/h3>\n\n\n<p>\ub124. \uc704\uc758 SQL \ucf54\ub4dc \uc870\uac01 \uc911 \uc544\ubb34\uac70\ub098 \ubd99\uc5ec\ub123\uc73c\uc138\uc694. <a href=\"https:\/\/sqlflow.gudusoft.com\/?utm_source=gudusoft&amp;utm_medium=website&amp;utm_campaign=data-lineage-examples\">\ubb34\ub8cc SQLFlow \uc2dc\uac01\ud654 \ub3c4\uad6c<\/a>\ud574\ub2f9 \ubc29\uc5b8\uc744 \uc120\ud0dd\ud558\uba74 \uba87 \ucd08 \ub9cc\uc5d0 \ub300\ud654\ud615 \ub2e4\uc774\uc5b4\uadf8\ub7a8\uc774 \ub098\ud0c0\ub0a9\ub2c8\ub2e4. \ud074\ub77c\uc6b0\ub4dc \ubc84\uc804\uc740 \ubb34\ub8cc \ud2f0\uc5b4\ub97c \uc81c\uacf5\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\uc9c1\uc811 \ud608\ud1b5\uacfc \uac04\uc811 \ud608\ud1b5\uc758 \ucc28\uc774\uc810\uc740 \ubb34\uc5c7\uc778\uac00\uc694?<\/h3>\n\n\n<p>\uc9c1\uc811 \uacc4\ubcf4\ub780 \ub370\uc774\ud130\uac00 \uc18c\uc2a4 \uc5f4\uc5d0\uc11c \ub300\uc0c1 \uc5f4\ub85c \ud750\ub974\ub294 \uac83\uc744 \uc758\ubbf8\ud569\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uc5b4 <code>SUM(\uc8fc\ubb38 \uc218\ub7c9)<\/code> \uae09\uc1a1 <code>\ucd1d\uc561<\/code>\uac04\uc811\uc801\uc778 \uc601\ud5a5\uc774\ub780 \uc5f4\uc774 \uacb0\uacfc\uc5d0 \uc9c1\uc811 \ub098\ud0c0\ub098\uc9c0 \uc54a\uace0\ub3c4 \uacb0\uacfc\uc5d0 \uc601\ud5a5\uc744 \ubbf8\uce58\ub294 \uac83\uc744 \uc758\ubbf8\ud569\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uc5b4, <code>\uc5b4\ub514<\/code> \ud544\ud130 \ub610\ub294 <code>\uac00\uc785\ud558\ub2e4<\/code> \ud575\uc2ec\uc740 SQLFlow\uac00 \ub450 \uac00\uc9c0 \uc720\ud615\uc744 \ubcc4\ub3c4\uc758 \ud1a0\uae00 \uac00\ub2a5\ud55c \uc5e3\uc9c0 \uc720\ud615\uc73c\ub85c \ucd94\uc801\ud55c\ub2e4\ub294 \uc810\uc785\ub2c8\ub2e4. \ub300\ubd80\ubd84\uc758 \ub3c4\uad6c\ub294 \uc9c1\uc811 \ud750\ub984\ub9cc \ucea1\ucc98\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\uc800\uc7a5 \ud504\ub85c\uc2dc\uc800\uc640 \ub3d9\uc801 SQL\uc5d0\uc11c \ub370\uc774\ud130 \uacc4\ubcf4\ub97c \ucd94\ucd9c\ud560 \uc218 \uc788\uc2b5\ub2c8\uae4c?<\/h3>\n\n\n<p>\ub124, \ud558\uc9c0\ub9cc \ucffc\ub9ac \ud30c\uc11c\ubfd0\ub9cc \uc544\ub2c8\ub77c \ud504\ub85c\uc2dc\uc800 \ud30c\uc11c\ub3c4 \ud544\uc694\ud569\ub2c8\ub2e4. SQLFlow\ub294 Oracle PL\/SQL \ubc0f SQL Server T-SQL \uc804\uc6a9 \ud30c\uc11c\ub97c \uc81c\uacf5\ud558\uba70, \ub9e4\uac1c\ubcc0\uc218\uc640 \uc784\uc2dc \ud14c\uc774\ube14\uc744 \ud1b5\ud574 \uacc4\ubcf4\ub97c \ucd94\uc801\ud558\uace0, \ud504\ub85c\uc2dc\uc800 \ub0b4\ubd80\uc5d0 \uc788\ub294 SQL \ubb38\uc790\uc5f4\uc744 \ud574\uc11d\ud558\uace0, \ud504\ub85c\uc2dc\uc800 \uac04 \ud638\ucd9c \uadf8\ub798\ud504\ub97c \uadf8\ub9bd\ub2c8\ub2e4.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\uc624\ud508\uc18c\uc2a4 \ub3c4\uad6c\ub294 \uc774\ub7ec\ud55c \uc608\uc81c\ub97c \ucc98\ub9ac\ud560 \uc218 \uc788\uc2b5\ub2c8\uae4c?<\/h3>\n\n\n<p>\ubd80\ubd84\uc801\uc73c\ub85c \uadf8\ub807\uc2b5\ub2c8\ub2e4. \ub3c4\uc11c\uad00 \uac19\uc740 \uacf3\ub4e4\uc774\uc694. <code>sqllineage<\/code> \uadf8\ub9ac\uace0 <code>sqlglot<\/code> \uac1c\ubcc4 \ucffc\ub9ac\ub97c \ubd84\uc11d\ud558\ub294 \ub370\ub294 \uc815\ub9d0 \ud0c1\uc6d4\ud558\uba70, \uc608\uc81c 1\uacfc 2\ub3c4 \uc798 \ucc98\ub9ac\ud569\ub2c8\ub2e4. \ucee4\ubc0b\ud558\uae30 \uc804\uc5d0 \ud14c\uc2a4\ud2b8\ud574 \ubcfc \uac00\uce58\uac00 \uc788\ub294 \uc608\uc81c\ub294 4~6\ubc88\uc785\ub2c8\ub2e4. \ub3d9\uc801 SQL\uc744 \uc0ac\uc6a9\ud558\ub294 \uc808\ucc28\uc801 \ucf54\ub4dc, \ubcc4\ub3c4\uc758 \uc5e3\uc9c0 \uc720\ud615\uc73c\ub85c \ud45c\ud604\ub418\ub294 \uac04\uc811 \uacc4\ubcf4, \uadf8\ub9ac\uace0 \uc5ec\ub7ec \ubc29\uc5b8\uc774 \uc0ac\uc6a9\ub418\ub294 \ud658\uacbd\uc744 \ud558\ub098\uc758 \ub300\ud654\ud615 \uadf8\ub798\ud504\ub85c \ud1b5\ud569\ud558\ub294 \uc608\uc81c\uc785\ub2c8\ub2e4. \ud3c9\uac00\ud558\ub294 \ubaa8\ub4e0 \ub3c4\uad6c\ub97c \uc0ac\uc6a9\ud558\uc5ec \uac00\uc7a5 \ubcf5\uc7a1\ud55c \uc800\uc7a5 \ud504\ub85c\uc2dc\uc800\ub97c \uc2e4\ud589\ud558\uace0 \uacb0\uacfc\ub97c \ube44\uad50\ud574 \ubcf4\uc138\uc694.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\uc774 \uc608\uc81c\ub4e4\uc740 \uc5b4\ub5a4 SQL \ubc29\uc5b8\uacfc \ud638\ud658\ub418\ub098\uc694?<\/h3>\n\n\n<p>SQLFlow\ub294 Snowflake, BigQuery, Redshift, Databricks, Oracle, SQL Server, PostgreSQL, MySQL, Teradata, Hive, Spark SQL, Trino\ub97c \ud3ec\ud568\ud55c 39\uac1c\uc758 \ubc29\uc5b8\ubcc4 \ud30c\uc11c\ub97c \uc81c\uacf5\ud569\ub2c8\ub2e4. \uc704\uc758 \uc608\uc81c\ub294 \uc77c\ubc18 SQL, T-SQL, dbt \ud15c\ud50c\ub9bf SQL \ubc0f Snowflake \uad6c\ubb38\uc744 \uc0ac\uc6a9\ud558\uba70, \uac01\uac01\uc740 \uc77c\ubc18 ANSI \ubb38\ubc95\uc774 \uc544\ub2cc \uc790\uccb4 \ubb38\ubc95\uc73c\ub85c \ud30c\uc2f1\ub429\ub2c8\ub2e4.<\/p>\n\n\n\n<div class=\"wp-block-group alignfull has-background is-layout-constrained\" style=\"background-color:#60d5f6;padding-top:32px;padding-bottom:32px\"><div class=\"wp-block-group__inner-container\">\n\n<h2 class=\"wp-block-heading\">\uc9c1\uc811 \uc791\uc131\ud55c SQL \ucffc\ub9ac\ub97c \uacc4\ubcf4 \ub2e4\uc774\uc5b4\uadf8\ub7a8\uc73c\ub85c \ubcc0\ud658\ud558\uc138\uc694.<\/h2>\n\n\n<p>\ucffc\ub9ac, \ud504\ub85c\uc2dc\uc800 \ub610\ub294 \uc804\uccb4 \uc2a4\ud06c\ub9bd\ud2b8\ub97c \ubb34\ub8cc \uc2dc\uac01\ud654 \ub3c4\uad6c\uc5d0 \ubd99\uc5ec\ub123\uc73c\uba74 \uba87 \ucd08 \ub9cc\uc5d0 \uc5f4 \uc218\uc900 \uadf8\ub798\ud504\ub97c \uc5bb\uc744 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ub370\uc774\ud130\ubca0\uc774\uc2a4\uac00 \ub9ce\uc740 \ud658\uacbd\uc758 \uacbd\uc6b0 \uc5d4\ud130\ud504\ub77c\uc774\uc988 \ub9ac\ud3ec\uc9c0\ud1a0\ub9ac\uc5d0 \ub300\ud574 \ubb38\uc758\ud558\uc2ed\uc2dc\uc624.<\/p>\n\n\n<div class=\"wp-block-buttons is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/sqlflow.gudusoft.com\/?utm_source=gudusoft&amp;utm_medium=website&amp;utm_campaign=data-lineage-examples\" target=\"_blank\" rel=\"noreferrer noopener\">SQLFlow\ub97c \ubb34\ub8cc\ub85c \uc0ac\uc6a9\ud574 \ubcf4\uc138\uc694.<\/a><\/div>\n\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/www.gudusoft.com\/ko\/%ec%97%b0%eb%9d%bd%ed%95%98%eb%8b%a4\/\">\uae30\uc5c5\uc6a9 \ub370\ubaa8\ub97c \uc694\uccad\ud558\uc138\uc694<\/a><\/div>\n<\/div>\n\n<\/div><\/div>\n\n\n\n<script type=\"application\/ld+json\">{\n    \"@context\": \"https:\\\/\\\/schema.org\",\n    \"@graph\": [\n        {\n            \"@type\": \"TechArticle\",\n            \"headline\": \"Data Lineage Examples: 6 Real Scenarios with SQL and Diagrams\",\n            \"description\": \"Six worked data lineage examples with real SQL: INSERT-SELECT, multi-CTE transforms, view chains, stored procedures with dynamic SQL, dbt model chains, and cross-database ETL, each with the column-level lineage graph explained.\",\n            \"author\": {\n                \"@type\": \"Organization\",\n                \"name\": \"Gudu Software\",\n                \"url\": \"https:\\\/\\\/www.gudusoft.com\\\/\"\n            },\n            \"publisher\": {\n                \"@type\": \"Organization\",\n                \"name\": \"Gudu Software\",\n                \"url\": \"https:\\\/\\\/www.gudusoft.com\\\/\"\n            }\n        },\n        {\n            \"@type\": \"FAQPage\",\n            \"mainEntity\": [\n                {\n                    \"@type\": \"Question\",\n                    \"name\": \"What is a data lineage diagram?\",\n                    \"acceptedAnswer\": {\n                        \"@type\": \"Answer\",\n                        \"text\": \"A data lineage diagram is a directed graph in which nodes are tables, views, or columns and edges show how data flows between them through SQL transformations. Column-level diagrams draw one edge per source-column-to-target-column relationship, annotated with the function or clause that created it.\"\n                    }\n                },\n                {\n                    \"@type\": \"Question\",\n                    \"name\": \"Can I reproduce these examples myself?\",\n                    \"acceptedAnswer\": {\n                        \"@type\": \"Answer\",\n                        \"text\": \"Yes. Paste any of the SQL snippets into the free SQLFlow visualizer at sqlflow.gudusoft.com, pick the matching dialect, and the interactive diagram appears in seconds. The cloud edition has a free tier.\"\n                    }\n                },\n                {\n                    \"@type\": \"Question\",\n                    \"name\": \"What is the difference between direct and indirect lineage?\",\n                    \"acceptedAnswer\": {\n                        \"@type\": \"Answer\",\n                        \"text\": \"Direct lineage means data flows from a source column into a target column, for example SUM(orders.amount) feeding total_amount. Indirect lineage means a column influences the result without appearing in it, such as a WHERE filter or JOIN key. SQLFlow tracks both as separate, toggleable edge types.\"\n                    }\n                },\n                {\n                    \"@type\": \"Question\",\n                    \"name\": \"Can lineage be extracted from stored procedures and dynamic SQL?\",\n                    \"acceptedAnswer\": {\n                        \"@type\": \"Answer\",\n                        \"text\": \"Yes, but it needs a procedural parser. SQLFlow has dedicated parsers for Oracle PL\\\/SQL and SQL Server T-SQL, traces lineage through parameters and temp tables, resolves dynamic SQL built inside procedures, and draws the procedure-to-procedure call graph.\"\n                    }\n                },\n                {\n                    \"@type\": \"Question\",\n                    \"name\": \"Do open-source tools handle these examples?\",\n                    \"acceptedAnswer\": {\n                        \"@type\": \"Answer\",\n                        \"text\": \"Partially. Libraries like sqllineage and sqlglot parse individual queries well and handle simple INSERT-SELECT and CTE cases. The examples worth testing before you commit involve procedural code with dynamic SQL, indirect lineage as a separate edge type, and stitching a multi-dialect estate into one interactive graph.\"\n                    }\n                },\n                {\n                    \"@type\": \"Question\",\n                    \"name\": \"Which SQL dialects do these examples work with?\",\n                    \"acceptedAnswer\": {\n                        \"@type\": \"Answer\",\n                        \"text\": \"SQLFlow ships 39 dialect-specific parsers, including Snowflake, BigQuery, Redshift, Databricks, Oracle, SQL Server, PostgreSQL, MySQL, Teradata, Hive, Spark SQL, and Trino. Each dialect is parsed by its own grammar rather than a generic ANSI one.\"\n                    }\n                }\n            ]\n        }\n    ]\n}<\/script>","protected":false},"excerpt":{"rendered":"<p>A data lineage example shows, for a concrete piece of SQL, which source tables and columns feed which output columns, and through which transformations the data passes along the way. The six worked examples below cover the situations data engineers actually hit: a plain INSERT-SELECT, a multi-CTE transform, a chain of views, a stored procedure with dynamic SQL, a dbt model chain, and a cross-database ETL flow. Each example gives the SQL, then describes exactly what the lineage graph looks like for it. Every example on this page is reproducible: paste the SQL into the free SQLFlow lineage visualizer and\u2026<\/p>","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":[],"blocksy_meta":{"styles_descriptor":{"styles":{"desktop":"","tablet":"","mobile":""},"google_fonts":[],"version":5}},"_links":{"self":[{"href":"https:\/\/www.gudusoft.com\/ko\/wp-json\/wp\/v2\/pages\/6748"}],"collection":[{"href":"https:\/\/www.gudusoft.com\/ko\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.gudusoft.com\/ko\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.gudusoft.com\/ko\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.gudusoft.com\/ko\/wp-json\/wp\/v2\/comments?post=6748"}],"version-history":[{"count":0,"href":"https:\/\/www.gudusoft.com\/ko\/wp-json\/wp\/v2\/pages\/6748\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.gudusoft.com\/ko\/wp-json\/wp\/v2\/media?parent=6748"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}