<!DOCTYPE html>
    <html lang="vi" xmlns="https://www.w3.org/1999/xhtml" prefix="og: https://ogp.me/ns#">
    <head>
<title>Bài 12&#x3A; Sử dụng JOIN trong SQLite - Học SQLite cơ bản</title>
<meta name="description" content="Bài 12&#x3A; Sử dụng JOIN trong SQLite - Học SQLite cơ bản - Savefile - Tin Tức -...">
<meta name="author" content="DATAONLINE.IO.VN">
<meta name="copyright" content="DATAONLINE.IO.VN [support@dataonline.io.vn]">
<meta name="generator" content="NukeViet v4.5">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta property="og:title" content="Bài 12&#x3A; Sử dụng JOIN trong SQLite - Học SQLite cơ bản">
<meta property="og:type" content="website">
<meta property="og:description" content="Savefile - Tin Tức - https&#x3A;&#x002F;&#x002F;365.io.vn&#x002F;savefile&#x002F;co-so-du-lieu&#x002F;bai-12-su-dung-join-trong-sqlite-hoc-sqlite-co-ban-25.html">
<meta property="og:site_name" content="DATAONLINE.IO.VN">
<meta property="og:url" content="https://365.io.vn/savefile/co-so-du-lieu/bai-12-su-dung-join-trong-sqlite-hoc-sqlite-co-ban-25.html">
<link rel="shortcut icon" href="https://dataonline.io.vn/favicon.ico">
<link rel="canonical" href="https://365.io.vn/savefile/co-so-du-lieu/bai-12-su-dung-join-trong-sqlite-hoc-sqlite-co-ban-25.html">
<link rel="alternate" href="https://dataonline.io.vn/rss/" title="Tin Tức" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/tong-hop/" title="Tin Tức - Tổng hợp" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/gdpt/" title="Tin Tức - GDPT" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/cac-van-ban/" title="Tin Tức - Các văn bản" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/tieu-hoc/" title="Tin Tức - Tiểu học" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/lop-3/" title="Tin Tức - Lớp 3" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/lop-4/" title="Tin Tức - Lớp 4" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/lop-5/" title="Tin Tức - Lớp 5" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/sgk-tieu-hoc/" title="Tin Tức - SGK Tiểu học" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/tin-hoc-3/" title="Tin Tức - Tin học 3" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/tin-hoc-4/" title="Tin Tức - Tin học 4" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/tin-hoc-5/" title="Tin Tức - Tin học 5" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/thcs/" title="Tin Tức - THCS" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/lop-6-75/" title="Tin Tức - Lớp 6" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/lop-7-75/" title="Tin Tức - Lớp 7" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/lop-8-75/" title="Tin Tức - Lớp 8" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/lop-9-75/" title="Tin Tức - Lớp 9" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/sgk-thcs/" title="Tin Tức - SGK THCS" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/tin-hoc-6/" title="Tin Tức - Tin học 6" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/tin-hoc-7/" title="Tin Tức - Tin học 7" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/tin-hoc-8/" title="Tin Tức - Tin học 8" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/tin-hoc-9/" title="Tin Tức - Tin học 9" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/thpt/" title="Tin Tức - THPT" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/lop-10/" title="Tin Tức - Lớp 10" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/lop-11/" title="Tin Tức - Lớp 11" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/lop-12/" title="Tin Tức - Lớp 12" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/sgk-thpt/" title="Tin Tức - SGK THPT" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/tin-hoc-10/" title="Tin Tức - Tin học 10" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/tin-hoc-11/" title="Tin Tức - Tin học 11" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/tin-hoc-12/" title="Tin Tức - Tin học 12" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/cntt/" title="Tin Tức - CNTT" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/phan-mem-quan-li-va-dieu-hanh/" title="Tin Tức - Phần mềm quản lí và điều hành" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/phan-mem-ung-dung/" title="Tin Tức - Phần mềm ứng dụng" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/ung-dung-ai/" title="Tin Tức - Ứng dụng AI" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/mang-may-tinh/" title="Tin Tức - Mạng máy tính" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/lap-trinh/" title="Tin Tức - Lập trình" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/cau-truc-thi-hsg-va-ts-vao-10/" title="Tin Tức - Cấu trúc thi HSG và TS vào 10" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/tai-lieu-hoc-lap-trinh/" title="Tin Tức - Tài liệu học lập trình" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/phan-mem-lap-trinh/" title="Tin Tức - Phần mềm lập trình" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/lap-trinh-truc-quan/" title="Tin Tức - Lập trình trực quan" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/lap-trinh-huong-thu-tuc-pop/" title="Tin Tức - Lập trình hướng thủ tục &#40;POP&#41;" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/de-thi/" title="Tin Tức - Đề thi" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/de-hsg-tin-hoc-thcs/" title="Tin Tức - Đề HSG Tin học THCS" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/de-tin-hoc-ts-vao-10-thpt-chuyen/" title="Tin Tức - Đề Tin học TS vào 10 THPT chuyên" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/de-tin-hoc-hsg-thpt/" title="Tin Tức - Đề Tin học HSG THPT" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/cham-thi/" title="Tin Tức - Chấm thi" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/themis/" title="Tin Tức - Themis" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/vnoi/" title="Tin Tức - VNOI" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/danh-sach-hoc-sinh/" title="Tin Tức - Danh sách học sinh" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/lap-trinh-huong-doi-tuong-oop/" title="Tin Tức - Lập trình hướng đối tượng &#40;OOP&#41;" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/web-nguon-mo/" title="Tin Tức - Web nguồn mở" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/he-dieu-hanh/" title="Tin Tức - Hệ điều hành" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/microsoft-windows/" title="Tin Tức - Microsoft Windows" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/ho-linux/" title="Tin Tức - Họ Linux" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/may-chu/" title="Tin Tức - Máy chủ" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/co-so-du-lieu/" title="Tin Tức - Cơ sở dữ liệu" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/web-server/" title="Tin Tức - Web Server" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/hosting-domain-vps/" title="Tin Tức - Hosting-domain-VPS" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/ban-tin/" title="Tin Tức - Bản tin" type="application/rss+xml">
<link rel="preload" as="style" href="https://dataonline.io.vn/assets/css/font-awesome.min.css" type="text/css">
<link rel="preload" as="style" href="https://dataonline.io.vn/themes/default/css/bootstrap.non-responsive.css" type="text/css">
<link rel="preload" as="style" href="https://dataonline.io.vn/themes/default/css/style.css" type="text/css">
<link rel="preload" as="style" href="https://dataonline.io.vn/themes/default/css/style.non-responsive.css" type="text/css">
<link rel="preload" as="style" href="https://dataonline.io.vn/themes/default/css/news.css" type="text/css">
<link rel="preload" as="style" href="https://dataonline.io.vn/themes/default/css/custom.css" type="text/css">
<link rel="preload" as="script" href="https://dataonline.io.vn/assets/js/jquery/jquery.min.js" type="text/javascript">
<link rel="preload" as="script" href="https://dataonline.io.vn/assets/js/language/vi.js" type="text/javascript">
<link rel="preload" as="script" href="https://dataonline.io.vn/assets/js/DOMPurify/purify3.js" type="text/javascript">
<link rel="preload" as="script" href="https://dataonline.io.vn/assets/js/global.js" type="text/javascript">
<link rel="preload" as="script" href="https://dataonline.io.vn/assets/js/site.js" type="text/javascript">
<link rel="preload" as="script" href="https://dataonline.io.vn/themes/default/js/news.js" type="text/javascript">
<link rel="preload" as="script" href="https://dataonline.io.vn/themes/default/js/main.js" type="text/javascript">
<link rel="preload" as="script" href="https://dataonline.io.vn/themes/default/js/custom.js" type="text/javascript">
<link rel="preload" as="script" href="https://dataonline.io.vn/themes/default/js/bootstrap.min.js" type="text/javascript">
<link rel="stylesheet" href="https://dataonline.io.vn/assets/css/font-awesome.min.css">
<link rel="stylesheet" href="https://dataonline.io.vn/themes/default/css/bootstrap.non-responsive.css">
<link rel="stylesheet" href="https://dataonline.io.vn/themes/default/css/style.css">
<link rel="stylesheet" href="https://dataonline.io.vn/themes/default/css/style.non-responsive.css">
<link rel="StyleSheet" href="https://dataonline.io.vn/themes/default/css/news.css">
<link rel="stylesheet" href="https://dataonline.io.vn/themes/default/css/custom.css">
<style type="text/css">
	body{background: #fff;}
</style>
    </head>
    <body>
<div id="print">
	<div id="hd_print">
		<h2 class="pull-left">DATAONLINE.IO.VN</h2>
		<p class="pull-right"><a title="DATAONLINE.IO.VN" href="https://dataonline.io.vn/">https://dataonline.io.vn</a></p>
	</div>
	<div class="clear"></div>
	<hr />
	<div id="content">
		<h1>Bài 12&#x3A; Sử dụng JOIN trong SQLite - Học SQLite cơ bản</h1>
		<ul class="list-inline">
			<li>Thứ hai - 21/03/2022 22:06</li>
			<li class="hidden-print txtrequired"><em class="fa fa-print">&nbsp;</em><a title="In ra" href="javascript:;" onclick="window.print()">In ra</a></li>
			<li class="hidden-print txtrequired"><em class="fa fa-power-off">&nbsp;</em><a title="Đóng cửa sổ này" href="javascript:;" onclick="window.close()">Đóng cửa sổ này</a></li>
		</ul>
		<div class="clear"></div>
		<div id="hometext">
			<p>Bài 12: Sử dụng JOIN trong SQLite - Học SQLite cơ bản.</p>
		</div>
				<div class="imghome">
			<img alt="Bài 12&#x3A; Sử dụng JOIN trong SQLite - Học SQLite cơ bản" src="https://dataonline.io.vn/uploads/news/sql.png" width="460" class="img-thumbnail" />
		</div>
		<div class="clear"></div>
		<div id="bodytext" class="clearfix">
			<p>Mệnh đề&nbsp;Joins&nbsp;trong SQLite được sử dụng để kết hợp các bản ghi từ hai hoặc nhiều bảng trong một Database. Một JOIN là một phương tiện để kết hợp các trường từ hai bảng bằng việc sử dụng các giá trị chung của mỗi bảng.<br />SQLite định nghĩa ba loại Join chính, đó là:</p><ul><li>CROSS JOIN</li><li>INNER JOIN</li><li>OUTER JOIN</li></ul><p><br />Trước khi bắt đầu, bạn theo dõi hai bảng COMPANY và DEPARTMENT. Chúng ta đã thấy cách lệnh INSERT nhập dữ liệu vào trong bảng COMPANY. Do đó, giả sử dưới đây là danh sách các bản ghi có trong bảng COMPANY.</p><pre><code class="language-plaintext">ID          NAME        AGE         ADDRESS     SALARY----------  ----------  ----------  ----------  ----------1           Paul        32          California  20000.02           Allen       25          Texas       15000.03           Teddy       23          Norway      20000.04           Mark        25          Rich-Mond   65000.05           David       27          Texas       85000.06           Kim         22          South-Hall  45000.07           James       24          Houston     10000.0</code></pre><p><br />Bảng DEPARTMENT có các định nghĩa sau:</p><pre><code class="language-plaintext">CREATE TABLE DEPARTMENT(   ID INT PRIMARY KEY      NOT NULL,   DEPT           CHAR(50) NOT NULL,   EMP_ID         INT      NOT NULL);</code></pre><p><br />Lệnh INSERT để chèn dữ liệu vào bảng này:</p><pre><code class="language-plaintext">INSERT INTO DEPARTMENT (ID, DEPT, EMP_ID)VALUES (1, &#039;IT Billing&#039;, 1 );INSERT INTO DEPARTMENT (ID, DEPT, EMP_ID)VALUES (2, &#039;Engineering&#039;, 2 );INSERT INTO DEPARTMENT (ID, DEPT, EMP_ID)VALUES (3, &#039;Finance&#039;, 7 );</code></pre><p><br />Và chúng ta có các bản ghi sau trong bảng DEPARTMENT:</p><pre><code class="language-plaintext">ID          DEPT        EMP_ID----------  ----------  ----------1           IT Billing  12           Engineerin  23           Finance     7</code></pre><h3>1. CROSS JOIN trong SQLite</h3><p>Một CROSS JOIN kết nối mỗi hàng của bảng đầu tiên với mỗi hàng của bảng thứ hai. Nếu các bảng đầu vào có x và y cột, thì tương ứng với đó, bảng kết quả sẽ có x+y cột. Bởi vì các CROSS JOIN này có khả năng để tạo ra các bảng lớn, do đó bạn nên cẩn thận để chỉ sử dụng chúng khi thấy cần thiết.<br />Cú pháp cơ bản của CROSS JOIN trong SQLite là:</p><pre><code class="language-plaintext">SELECT ... FROM table1 CROSS JOIN table2 ...</code></pre><p><br />Dựa vào hai bảng trên, chúng ta có thể viết một Cross Join như sau:</p><pre><code class="language-plaintext">sqlite&gt; SELECT EMP_ID, NAME, DEPT FROM COMPANY CROSS JOIN DEPARTMENT;</code></pre><p><br />Truy vấn trên sẽ cho kết quả:</p><pre><code class="language-plaintext">EMP_ID      NAME        DEPT----------  ----------  ----------1           Paul        IT Billing2           Paul        Engineerin7           Paul        Finance1           Allen       IT Billing2           Allen       Engineerin7           Allen       Finance1           Teddy       IT Billing2           Teddy       Engineerin7           Teddy       Finance1           Mark        IT Billing2           Mark        Engineerin7           Mark        Finance1           David       IT Billing2           David       Engineerin7           David       Finance1           Kim         IT Billing2           Kim         Engineerin7           Kim         Finance1           James       IT Billing2           James       Engineerin7           James       Finance</code></pre><h3>2. INNER JOIN trong SQLite</h3><p>Một INNER JOIN tạo một bảng kết quả mới bằng việc kết hợp các giá trị cột của hai bảng (table1 và table2) dựa trên join-predicate. Truy vấn này so sánh mỗi hàng trong table1 với mỗi hàng trong table2 để tìm ra các cặp hàng mà thỏa mãn join-predicate. Khi join-predicate được thỏa mãn, các giá trị cột của mỗi cặp hàng được kết nối A và B được kết hợp vào trong một hàng kết quả.<br />Một INNER JOIN là loại Join được sử dụng phổ biến nhất và là loại Join mặc định. Bạn có thể sử dụng từ khóa INNER tùy ý.<br />Cú pháp cơ bản của INNER JOIN trong SQLite là:</p><pre><code class="language-plaintext">SELECT ... FROM table1 &#91;INNER&#93; JOIN table2 ON conditional_expression ...</code></pre><p><br />Để tránh sự rườm rà và giúp cho truy vấn của bạn ngắn hơn, các điều kiện INNER JOIN có thể được khai báo với biểu thức&nbsp;USING. Biểu thức này xác định một danh sách của một hoặc nhiều cột.</p><pre><code class="language-plaintext">SELECT ... FROM table1 JOIN table2 USING ( column1 ,... ) ...</code></pre><p><br />Một NATURAL JOIN là tương đương với một&nbsp;JOIN…USING, chỉ khi nó tự động kiểm tra cho sự cân bằng giữa các giá trị của mỗi cột tồn tại trong cả hai bảng.</p><pre><code class="language-plaintext">SELECT ... FROM table1 NATURAL JOIN table2...</code></pre><p><br />Dựa vào hai bảng trên, chúng ta có thể viết một INNER JOIN như sau:</p><pre><code class="language-plaintext">sqlite&gt; SELECT EMP_ID, NAME, DEPT FROM COMPANY INNER JOIN DEPARTMENT        ON COMPANY.ID = DEPARTMENT.EMP_ID;</code></pre><p><br />Truy vấn trên sẽ cho kết quả:</p><pre><code class="language-plaintext">EMP_ID      NAME        DEPT----------  ----------  ----------1           Paul        IT Billing2           Allen       Engineerin7           James       Finance</code></pre><h3>3. OUTER JOIN trong SQLite</h3><p>OUTER JOIN là một sự mở rộng của INNER JOIN. Mặc dù SQL chuẩn định nghĩa 3 loại OUTER JOIN là: LEFT, RIGHT, và FULL nhưng SQLite chỉ hỗ trợ&nbsp;LEFT OUTER JOIN.<br />Các OUTER JOIN có một điều kiện giống như các INNER JOIN, được biểu diễn bởi sử dụng từ khóa ON, USING hoặc NATURAL. Bảng kết quả ban đầu được tính toán theo cùng cách thức. Khi JOIN đầu tiên được tính toán, một Outer Join sẽ nhận bất kỳ các hàng chưa được kết hợp nào từ một hoặc các bảng, đệm chúng với các NULL và phụ chúng thêm vào bảng kết quả.<br />Cú pháp cơ bản của LEFT OUTER JOIN trong SQLite là:</p><pre><code class="language-plaintext">SELECT ... FROM table1 LEFT OUTER JOIN table2 ON conditional_expression ...</code></pre><p><br />Để tránh sự rườm rà và giúp cho truy vấn của bạn ngắn hơn, các điều kiện INNER JOIN có thể được khai báo với biểu thức USING. Biểu thức này xác định một danh sách của một hoặc nhiều cột.</p><pre><code class="language-plaintext">SELECT ... FROM table1 LEFT OUTER JOIN table2 USING ( column1 ,... ) ...</code></pre><p><br />Dựa vào các bảng trên, chúng ta có thể viết một LEFT OUTER JOIN như sau:</p><pre><code class="language-plaintext">sqlite&gt; SELECT EMP_ID, NAME, DEPT FROM COMPANY LEFT OUTER JOIN DEPARTMENT        ON COMPANY.ID = DEPARTMENT.EMP_ID;</code></pre><p><br />Truy vấn trên sẽ cho kết quả:</p><pre><code class="language-plaintext">EMP_ID      NAME        DEPT----------  ----------  ----------1           Paul        IT Billing2           Allen       Engineerin            Teddy            Mark            David            Kim7           James       Finance</code></pre><p>&nbsp;</p>
		</div>
				<div id="author">
						<p>
				<strong>Nguồn tin:</strong>
				vncoder.vn
			</p>
		</div>
	</div>
	<div id="footer" class="clearfix">
		<div id="url">
			<strong>URL của bản tin này: </strong><a href="https://365.io.vn/savefile/co-so-du-lieu/bai-12-su-dung-join-trong-sqlite-hoc-sqlite-co-ban-25.html" title="Bài 12&#x3A; Sử dụng JOIN trong SQLite - Học SQLite cơ bản">https://365.io.vn/savefile/co-so-du-lieu/bai-12-su-dung-join-trong-sqlite-hoc-sqlite-co-ban-25.html</a>

		</div>
		<div class="clear"></div>
		<div class="copyright">
			&copy; DATAONLINE.IO.VN
		</div>
		<div id="contact">
			<a href="mailto:support@dataonline.io.vn">support@dataonline.io.vn</a>
		</div>
	</div>
</div>
        <div class="cookie-notice"><div><button onclick="cookie_notice_hide();">&times;</button>Chúng tôi đang sử dụng cookie để cung cấp cho bạn những trải nghiệm tốt nhất trên trang web này. Bằng cách tiếp tục truy cập, bạn đồng ý với <a href="https://dataonline.io.vn/siteterms/privacy.html">Chính sách thu thập và sử dụng cookie</a> của chúng tôi.</div></div>
        <div id="timeoutsess" class="chromeframe">
            Bạn đã không sử dụng Site, <a onclick="timeoutsesscancel();" href="https://dataonline.io.vn/#">Bấm vào đây để duy trì trạng thái đăng nhập</a>. Thời gian chờ: <span id="secField"> 60 </span> giây
        </div>
        <div id="openidResult" class="nv-alert" style="display:none"></div>
        <div id="openidBt" data-result="" data-redirect=""></div>
<script src="https://dataonline.io.vn/assets/js/jquery/jquery.min.js"></script>
<script>var nv_base_siteurl="/",nv_lang_data="vi",nv_lang_interface="vi",nv_name_variable="nv",nv_fc_variable="op",nv_lang_variable="language",nv_module_name="news",nv_func_name="savefile",nv_is_user=0, nv_my_ofs=-4,nv_my_abbr="EDT",nv_cookie_prefix="nv4",nv_check_pass_mstime=1738000,nv_area_admin=0,nv_safemode=0,theme_responsive=0,nv_recaptcha_ver=2,nv_recaptcha_sitekey="",nv_recaptcha_type="image",XSSsanitize=1;</script>
<script src="https://dataonline.io.vn/assets/js/language/vi.js"></script>
<script src="https://dataonline.io.vn/assets/js/DOMPurify/purify3.js"></script>
<script src="https://dataonline.io.vn/assets/js/global.js"></script>
<script src="https://dataonline.io.vn/assets/js/site.js"></script>
<script src="https://dataonline.io.vn/themes/default/js/news.js"></script>
<script src="https://dataonline.io.vn/themes/default/js/main.js"></script>
<script src="https://dataonline.io.vn/themes/default/js/custom.js"></script>
<script type="application/ld+json">
        {
            "@context": "https://schema.org",
            "@type": "Organization",
            "url": "https://dataonline.io.vn",
            "logo": "https://dataonline.io.vn/assets/images/logo.svg"
        }
        </script>
<script src="https://dataonline.io.vn/themes/default/js/bootstrap.min.js">
        </script>
<script>
    var LIMIT = 600000; // 10 phút

    var startTime = sessionStorage.getItem("redirect_timer");
    if (!startTime) {
        startTime = Date.now();
        sessionStorage.setItem("redirect_timer", startTime);
    } else {
        startTime = parseInt(startTime, 10);
    }

    var elapsed = Date.now() - startTime;
    var remain = LIMIT - elapsed;

    if (remain > 0) {
        setTimeout(function () {
            alert("Hệ thống sẽ chuyển sang trang chấm bài.");
            window.location.replace("https://vnoj.io.vn");
        }, remain);
    } else {
        window.location.replace("https://vnoj.io.vn");
    }
</script>
</body>
</html>