SQL so với JavaScript

Lệnh IN cho phép bạn chỉ định nhiều giá trị trong mệnh đề WHERE

Toán tử IN là cách viết tắt của nhiều điều kiện OR

SQL sau đây chọn tất cả các khách hàng ở "Đức", "Pháp" và "Vương quốc Anh"

Thí dụ

CHỌN * TỪ Khách hàng
WHERE Country IN ['Đức', 'Pháp', 'Anh'];

Tự mình thử »

SQL sau đây chọn tất cả các khách hàng KHÔNG ở "Đức", "Pháp" hoặc "Vương quốc Anh"

Thí dụ

CHỌN * TỪ Khách hàng
WHERE Country NOT IN ['Đức', 'Pháp', 'Anh'];

Tự mình thử »

SQL sau đây chọn tất cả khách hàng đến từ cùng quốc gia với nhà cung cấp

Thí dụ

CHỌN * TỪ Khách hàng
WHERE Country IN [CHỌN Quốc gia TỪ Nhà cung cấp];

Tự mình thử »

Ví dụ sau sẽ minh họa cách một trang web có thể lấy thông tin từ cơ sở dữ liệu bằng AJAX

Giải thích ví dụ - Hàm showCustomer[]

Khi người dùng chọn một khách hàng trong danh sách thả xuống ở trên, một hàm có tên là showCustomer[] được thực thi. Chức năng được kích hoạt bởi sự kiện onchange

hiệnKhách hàng

hàm showCustomer[str] {
nếu [str == ""] {
tài liệu. getElementById["txtHint"]. InternalHTML = "";
trở lại;
}
const xhttp = XMLHttpRequest mới[];
xhttp. tải = chức năng [] {
tài liệu. getElementById["txtHint"]. bên trongHTML = cái này. văn bản phản hồi;
}
xhttp. open["NHẬN", "nhận khách hàng. php?q="+str];
xhttp. gửi[];
}

Hàm showCustomer[] thực hiện như sau

  • Kiểm tra xem khách hàng có được chọn không
  • Tạo một đối tượng XMLHttpRequest
  • Tạo chức năng sẽ được thực thi khi phản hồi của máy chủ đã sẵn sàng
  • Gửi yêu cầu đến một tệp trên máy chủ
  • Lưu ý rằng một tham số [q] được thêm vào URL [với nội dung của danh sách thả xuống]

Trang máy chủ AJAX

Trang trên máy chủ được gọi bởi JavaScript ở trên là một tệp PHP có tên "getcustomer. php"

Mã nguồn trong "getcustomer. php" chạy truy vấn đối với cơ sở dữ liệu và trả về kết quả trong bảng HTML

Ví dụ HTML



Hướng dẫn HTML
Đây là một tiêu đề

Đây là một đoạn


Tự mình thử

Ví dụ CSS

cơ thể người {
màu nền. xanh nhạt;
}

h1 {
màu. trắng;
căn chỉnh văn bản. trung tâm;
}

P {
họ phông chữ. rau xanh;
}

Tự mình thử

Ví dụ JavaScript

Nhấp vào đây

Tự mình thử

PHP

Một ngôn ngữ lập trình máy chủ webHọc PHP

W3. CSS

Khung CSS cho các trang web phản hồi nhanh hơn và tốt hơnTìm hiểu W3. CSS

Theo dõi tiến trình của bạn với chương trình "Học tập của tôi" miễn phí tại W3Schools

Đăng nhập vào tài khoản của bạn và bắt đầu kiếm điểm

Đăng kí miễn phí

Công cụ chọn màu nổi tiếng của W3Schools

Bài tập và câu đố

Kiểm tra kỹ năng của bạn

Bắt đầu sự nghiệp của bạn

Được chứng nhận bằng cách hoàn thành một khóa học

Bắt đầu w3schoolsCERTIFIED. 2022

Làm thế nào để phần

Đoạn mã cho HTML, CSS và JavaScript

Ví dụ: cách tạo trình chiếu
học cách làm

quyết định. Cho dù đó là giấy hay nhựa, cà phê hay trà, gas hay điện. luôn có một quyết định khác chờ đợi xung quanh. Và nếu bạn đến trang này, quyết định tiếp theo của bạn có thể cũng quan trọng như những quyết định được liệt kê trước đó. Snowflake Scripting hoặc JavaScript. Đối với nhiều nhà phát triển và kỹ sư dữ liệu, đó có thể là sự lựa chọn giữa một con đường quen thuộc không đưa bạn đến đích và một con đường xa lạ đưa bạn đến đó. Bất chấp điều đó, đây là quyết định mà bạn không phải đưa ra một mình.  

Huy động. Net đã chuyển đổi các ngôn ngữ kịch bản lệnh SQL như PL/SQL, T-SQL và các thủ tục được lưu trữ trong Teradata sang JavaScript được nhúng trong Snowflake SQL trong vài năm nay. [Trên thực tế, chúng tôi đã viết blog về nó trong quá khứ. ] Nhưng một vài tháng trước, Snowflake đã xuất bản rằng Snowflake Scripting hiện đã có sẵn đầy đủ cho bất kỳ người dùng Snowflake nào. [Và trước đây chúng tôi cũng đã viết blog về một số điều bạn có thể làm với Snowflake Scripting. ] Chúng tôi đã hợp tác với Snowflake để làm cho nó trở nên tốt nhất có thể [và sẽ tiếp tục như vậy. ], và nó tiếp tục phát triển và tiến hóa khi ngày càng có nhiều người dùng tận dụng lợi thế của việc viết mã thủ tục chỉ sử dụng một ngôn ngữ, SQL

Nhưng những gì về di cư? . Net và Snowflake đã hợp tác với nhau để phát triển máy gia tốc tốt nhất trên thị trường cho Snowflake, SnowConvert. Chà, SnowConvert đã tự động hóa quá trình chuyển đổi cực kỳ phức tạp của bteq, PL/SQL và T-SQL sang JavaScript được nhúng trong Snowflake SQL trong vài năm nay. Nếu SnowConvert có thể chuyển từ sprocs sang JavaScript, liệu nó có thể chuyển từ sprocs sang Quy trình viết kịch bản Snowflake không? . người tuyết. ? . ] Tất nhiên. Như bạn có thể mong đợi, việc chuyển đổi đơn giản hơn nhiều

Mặc dù vậy, đừng sợ, chúng tôi không chơi yêu thích. Với tất cả các hương vị của SnowConvert, bạn vẫn có thể chọn xem bạn muốn xuất ra JavaScript hay Snowflake Scripting

Chúng ta hãy xem một ví dụ minh họa một yếu tố duy nhất của một chuyển đổi giống nhau về mặt chức năng trong JavaScript do SnowConvert tạo và Snowflake Scripting do SnowConvert tạo, nhưng có khả năng đầu ra đơn giản hơn. Ý tôi là, nếu bạn đã quen viết SQL, thì việc chuyển sang JavaScript có thể gây khó chịu và thường yêu cầu một bộ kỹ năng hoàn toàn khác

Quy trình SQL đối với JavaScript và Snowflake Scripting

Khi huy động. net SnowConvert đánh giá một cơ sở mã, mục tiêu của công cụ tự động hóa là tạo ra sự tương đương về chức năng, chứ không phải tìm điểm tương đương gần nhất trong mục tiêu và bỏ cuộc nếu không có điểm tương đương gần nhất. Do đó, khi chuyển đổi các thủ tục sang JavaScript, SnowConvert tạo các lớp trợ giúp để tạo chức năng không có trong nền tảng đích. Điều này có thể được thực hiện bằng cách sử dụng toàn bộ triển khai JavaScript mà Snowflake hỗ trợ

Tuy nhiên, khi chuyển đổi thủ tục SQL trong nền tảng nguồn sang thủ tục SQL trong Snowflake [Snowflake Scripting], việc chuyển đổi đơn giản hơn nhiều. Chúng ta hãy xem điều này trông như thế nào với một ví dụ rất đơn giản trong Oracle PL/SQL

OraclePL/SQL

Hãy lấy một thủ tục mẫu với câu lệnh RAISE làm ví dụ. [Lưu ý rằng bạn có thể sử dụng mã này để dùng thử. ] Đây là những gì có thể trông như thế nào trong Oracle.  

-- Oracle test procedure for RAISE conversion.
CREATE OR REPLACE PROCEDURE simple_exception_throw_handle[param1 INTEGER]
IS
    my_exception EXCEPTION;
    my_other_exception EXCEPTION;
BEGIN
    IF param1 > 0
        THEN RAISE my_exception;
    END IF;
EXCEPTION
    WHEN my_exception THEN
        IF param1 = 1
            THEN RAISE;
        END IF;
        RAISE my_other_exception;
END;

--Completes without issue
CALL simple_exception_throw_handle[0];
--Throws my_exception
CALL simple_exception_throw_handle[1];
--Throws my_exception, catches then raises second my_other_exception
CALL simple_exception_throw_handle[2];

 

Khá đơn giản, phải không? . Điều này sẽ trông như thế nào trong Snowflake Scripting và Javascript? . rất vui vì bạn đã hỏi. ]

Quy trình SQL bông tuyết [Snowflake Scripting]

Trong Snowflake Scripting, quy trình tương tự sẽ giống như sau

-- Snowflake Scripting test procedure for RAISE conversion.
CREATE OR REPLACE PROCEDURE PUBLIC.simple_exception_throw_handle [param1 INTEGER]
RETURNS VARCHAR
LANGUAGE SQL -- Using Snowflake Scripting.
EXECUTE AS CALLER
AS
$$
    DECLARE
        my_exception EXCEPTION;
        my_other_exception EXCEPTION;
    BEGIN
        IF [:param1 > 0] THEN
            RAISE my_exception;
        END IF;
        EXCEPTION
            WHEN my_exception THEN
                IF [param1 = 1] THEN
                    RAISE;
                END IF;
                RAISE my_other_exception;
    END;
$$;

-- Test it out to see what happens!
CALL PUBLIC.simple_exception_throw_handle[0];
CALL PUBLIC.simple_exception_throw_handle[1];
CALL PUBLIC.simple_exception_throw_handle[2];

 

Nhìn. khá giống với cái đầu tiên, phải không? . Với Snowflake Scripting về cơ bản giống như hàm RAISE trong Oracle. Đó là do thiết kế. SQL đã tồn tại lâu hơn Snowflake và bây giờ Snowflake Scripting đã có ở đây, việc triển khai các quy trình được viết bằng SQL của Snowflake sẽ giống như những gì đã có sẵn. Mã đầu ra trong Snowflake Scripting rất dễ hiểu và dễ thao tác đối với các nhà phát triển quen thuộc với SQL.  

Quy trình JavaScript bông tuyết

Bây giờ chúng ta đã thấy quá trình chuyển đổi đơn giản sang Snowflake Scripting, còn JavaScript thì sao? . Net SnowConvert tạo lại chức năng của hàm RAISE trong Oracle PL/SQL với một hàm trợ giúp được viết bằng JavaScript cho Snowflake. Chúng ta hãy xem nó trông như thế nào. [Lưu ý rằng bạn sẽ không thể chạy chương trình này trực tiếp trong Snowflake vì một lượng lớn dòng mã đã bị xóa khỏi lớp trình trợ giúp vì tính ngắn gọn của mã này. ]

-- Snowflake JavaScript test procedure for RAISE conversion.
CREATE OR REPLACE PROCEDURE PUBLIC.simple_exception_throw_handle [param1 FLOAT]
RETURNS STRING
LANGUAGE JAVASCRIPT -- Using JavaScript.
EXECUTE AS CALLER
AS
$$
    // REGION SnowConvert Helpers Code

	// Other helper functions would appear here

	// The helper class we care about appears here.
    var RAISE = function [code,name,message] {
        message === undefined && [[name,message] = [message,name]]
        var error = new Error[message];
        error.name = name
        SQLERRM = `${[SQLCODE = [error.code = code]]}: ${message}`
        throw error;
    };
    // END REGION

    /* ** MSC-WARNING - MSCEWI3052 - EXCEPTION DECLARATION IS HANDLED BY RAISE FUNCTION ** */
    /*     my_exception EXCEPTION */
    ;
    /* ** MSC-WARNING - MSCEWI3052 - EXCEPTION DECLARATION IS HANDLED BY RAISE FUNCTION ** */
    /*     my_other_exception EXCEPTION */
    ;
    try {
        if [PARAM1 > 0] {
            RAISE[-6512,`MY_EXCEPTION`,`MY_EXCEPTION`];
        }
    } catch[error] {
        switch[error.name] {
            case `MY_EXCEPTION`: {
                if [PARAM1 == 1] {
                    throw error;
                }
                RAISE[-6512,`MY_OTHER_EXCEPTION`,`MY_OTHER_EXCEPTION`];
                break;
            }
            default: {
                throw error;
                break;
            }
        }
    }
$$;

CALL PUBLIC.simple_exception_throw_handle[0];
CALL PUBLIC.simple_exception_throw_handle[1];
CALL PUBLIC.simple_exception_throw_handle[2];

 

Trong kết quả này, SnowConvert dành cho Oracle tạo một hàm trợ giúp JavaScript có tên là raise sao chép chức năng của hàm RAISE trong SQL. Chức năng của phần còn lại của quy trình được tạo lại trong câu lệnh try [với một số thành phần không cần thiết đã bị xóa cùng với nhận xét từ SnowConvert cho bạn biết điều gì đó đã thay đổi . Đầu ra có chức năng tương đương với hai thủ tục khác [Oracle và Snowflake Scripting] đã nêu ở trên. raise function created above. The output is functionally equivalent to the other two procedures [Oracle and Snowflake Scripting] given above. 

Vì thế. thời gian cho một quyết định?

Với ví dụ này, không phải Snowflake Scripting là giải pháp thay thế tốt hơn khi viết mã thủ tục trong Snowflake sao? . Thủ tục trên khá đơn giản. Nó đang đưa ra một ngoại lệ. Nó không thực hiện một loạt thao tác trên hoặc trên cơ sở dữ liệu, vốn thường là mục tiêu của mã thủ tục. Trong phạm vi mà Snowflake Scripting hỗ trợ chức năng tồn tại trong các thủ tục SQL của bạn, thì vâng. Có khả năng Snowflake Scripting sẽ là một quá trình chuyển đổi đơn giản và dễ dàng hơn nhiều từ nền tảng nguồn mà bạn đã quen sử dụng. Tuy nhiên, nếu chức năng đó chưa tồn tại [và chúng tôi có nghĩa là "chưa", vì Snowflake liên tục cập nhật chức năng [và tài liệu tiếp theo] có trong Snowflake Scripting], thì việc triển khai JavaScript của Snowflake cho phép SnowConvert tạo lại chức năng đó và . Tất nhiên, nhược điểm rõ ràng là giờ đây bạn sẽ có nhiều hơn một ngôn ngữ để hỗ trợ [SQL và JavaScript]

Nhưng như chúng tôi đã đề cập ở trên, bạn không cần phải đưa ra những quyết định này một mình. Bạn có thể sử dụng SnowConvert để đánh giá mã bạn có và biết được mức độ chuyển đổi tự động mà bạn có thể mong đợi đối với Snowflake Scripting hoặc JavaScript. Bạn cũng có thể tìm thêm các ví dụ này bằng cách yêu cầu quyền truy cập vào tài liệu tham khảo dịch thuật của chúng tôi [trang web tài liệu công cộng của chúng tôi dành cho SnowConvert có hỗ trợ tuyệt vời, nhưng chúng tôi có thể cung cấp một thư viện sâu hơn nữa]. Hãy cho chúng tôi biết làm thế nào chúng tôi có thể giúp đỡ và chúng tôi sẽ.  

Trừ khi đó là về cà phê hoặc trà. Cuộc tranh luận đó tiếp tục diễn ra xung quanh các hội trường bằng gỗ gụ của Huy động. Văn phòng Net và không có kết thúc trong tầm nhìn

SQL có dễ học hơn JavaScript không?

Các chuyên gia cho rằng việc học SQL dễ hơn nhiều ngôn ngữ lập trình khác . Vì SQL là ngôn ngữ thực tế của máy tính nên những người thành thạo ngôn ngữ này có thể dễ dàng tiếp thu các ngôn ngữ lập trình khác, chẳng hạn như Python hoặc JavaScript.

SQL hay JavaScript nào khó hơn?

SQL có thể được hiểu là dễ hơn Java . SQL là ngôn ngữ dành riêng cho miền để quản lý dữ liệu trong cơ sở dữ liệu quan hệ, trong khi Java là ngôn ngữ lập trình chung. Hơn nữa, SQL là một ngôn ngữ khai báo với bản chất ngữ nghĩa cú pháp của nó, thêm vào tính đơn giản so sánh của nó.

SQL có trong JavaScript không?

SQL. js là thư viện JavaScript cho phép bạn tạo và truy vấn cơ sở dữ liệu quan hệ hoàn toàn trong trình duyệt. Nó sử dụng tệp cơ sở dữ liệu ảo được lưu trữ trong bộ nhớ trình duyệt, do đó, nó không lưu lại các thay đổi được thực hiện đối với cơ sở dữ liệu.

Tôi có thể học SQL sau JavaScript không?

Tôi bắt đầu với Javascript, chuyển sang Python và cuối cùng là SQL. Tôi đã đi theo con đường này vì khuôn khổ mà tôi vạch ra bên dưới. Tuy nhiên, phần lớn không có câu trả lời sai . Học cách mã hoạt động - như một tập hợp các hướng dẫn cho máy tính biết bạn muốn nó hoạt động như thế nào - khá phổ biến.

Chủ Đề