All Products
Search
Document Center

DataWorks:Code editor: Contoh SQL advanced (sintaksis MyBatis)

Last Updated:Feb 28, 2026

DataService Studio memungkinkan Anda menghasilkan API melalui code editor. Di code editor, Anda dapat menulis logika kueri menggunakan sintaksis SQL dasar atau SQL advanced. SQL advanced mencakup tag MyBatis umum, seperti if, choose, when, otherwise, trim, foreach, dan where. Tag-tag ini memungkinkan penerapan logika kueri kompleks, seperti pemeriksaan nilai null, traversal multi-nilai, kueri tabel dinamis, pengurutan dinamis, dan agregasi.

Catatan penggunaan

Topik ini menyediakan contoh penulisan logika kueri SQL advanced saat menghasilkan API di code editor. Topik ini juga menjelaskan hubungan antara kode SQL dengan Request Parameters dan Return Parameters pada halaman pembuatan API. Untuk mencegah kegagalan waktu proses, gantilah nama tabel, bidang, dan kondisi kueri dengan yang sesuai kebutuhan Anda.

Catatan

Pada halaman pembuatan API, memberikan nilai contoh untuk parameter permintaan dan parameter respons bersifat opsional. Jika Anda menguji API dengan nilai yang sama setiap kali, Anda dapat memasukkannya sebagai nilai contoh. Sistem akan memuat otomatis nilai-nilai tersebut untuk parameter permintaan selama pengujian, sehingga Anda tidak perlu memasukkannya berulang kali. Nilai contoh hanya digunakan sebagai referensi.

Untuk informasi lebih lanjut tentang cara menghasilkan API di code editor, lihat Generate an API in the code editor.

Topik ini menyediakan contoh berikut untuk skenario SQL advanced (sintaksis MyBatis):

Contoh 1: Mengurutkan hasil berdasarkan bidang tabel yang berbeda sesuai kondisi

Contoh ini menggunakan pernyataan kueri SQL dinamis. Nilai var menentukan metode pengurutan yang digunakan.

  • Jika nilai var adalah 1, hasil diurutkan menggunakan order by col01.

  • Jika nilai var adalah 2, hasil diurutkan menggunakan order by col02.

  • Jika nilai var adalah 3, hasil diurutkan menggunakan order by col01,col02.

  • Jika nilai var adalah 4, hasil diurutkan menggunakan order by col02,col01.

Berikut ini adalah contoh kode SQL.

Penting

Saat menggunakan kode ini, gantilah nama tabel, bidang, dan kondisi lainnya sesuai kebutuhan.

select col01,col02
from table_name  
<choose>
    <when test='var == 1'>
    order by col01
    </when>
    <when test='var == 2'>
    order by col02
    </when>
    <when test='var == 3'>
    order by col01,col02
    </when>
    <when test='var == 4'>
    order by col02,col01
    </when>
</choose>

Tabel berikut menunjukkan pengaturan parameter untuk contoh ini pada halaman pembuatan API. Anda dapat mengganti nilai contoh sesuai kebutuhan.image.png

  • Request Parameters:

    Parameter Name

    Parameter Type

    Parameter Location

    Required

    Example Value

    Default Value

    Description

    var

    INT

    QUERY

    Yes

    1

    1

    Metode pengurutan

  • Return Parameters:

    Parameter Name

    Parameter Type

    Example Value

    col01

    STRING

    shortname

    col02

    STRING

    name

Contoh 2: Melakukan kueri pada tabel data yang berbeda berdasarkan kondisi

Contoh ini menggunakan pernyataan kueri SQL dinamis. Nilai var menentukan tabel mana yang akan dikueri. Kueri mengembalikan data dari bidang col01.

  • Jika nilai var adalah 1, kueri mengambil bidang col01 dari tabel table_name01.

  • Jika nilai var adalah 2, kueri mengambil bidang col01 dari tabel table_name02.

Kode berikut memberikan contohnya.

Penting

Saat menggunakan kode ini, gantilah nama tabel, bidang, dan kondisi lainnya sesuai kebutuhan.

select col01
from
<choose>
 <when test='var == 1'>
 table_name01
 </when>
 <when test='var == 2'>
 table_name02
 </when>
</choose>

Tabel berikut menunjukkan pengaturan parameter untuk contoh ini pada halaman pembuatan API. Anda dapat mengganti nilai contoh sesuai kebutuhan.image.png

  • Request Parameters:

    Parameter Name

    Parameter Type

    Parameter Location

    Required

    Example Value

    Default Value

    var

    INT

    QUERY

    Yes

    1

    1

  • Return Parameters:

    Parameter Name

    Parameter Type

    Example Value

    col01

    STRING

    123

Contoh 3: Mengontrol apakah kondisi kueri where disertakan berdasarkan apakah nilai bidang kosong

Contoh ini secara dinamis menghasilkan kondisi kueri berdasarkan nilai area dalam koleksi list untuk mengambil data.

Jika koleksi list tidak null, sistem menghasilkan kondisi kueri yang berisi nilai bidang area dengan melakukan traversal pada koleksi list dan menggabungkan setiap elemen sesuai ketentuan. Kueri mengembalikan data dari bidang area_id, area, dan amount.

Kode berikut memberikan contohnya.

Penting

Saat menggunakan kode ini, gantilah nama tabel, bidang, dan kondisi lainnya sesuai kebutuhan.

SELECT area_id, area, amount
FROM table_name
<where>
	<if test='list!=null'>
	area in
		<foreach collection="list" open="(" close=")" separator="," item="area">
		#{area}
		</foreach>
	</if>
</where>

Tabel berikut menunjukkan pengaturan parameter untuk contoh ini pada halaman pembuatan API. Anda dapat mengganti nilai contoh sesuai kebutuhan.image.png

  • Request Parameters:

    Parameter Name

    Parameter Type

    Parameter Location

    Required

    Example Value

    Default Value

    list

    STRING_LIST

    QUERY

    Yes

    Beijing, Hangzhou

    Beijing

  • Return Parameters:

    Parameter Name

    Parameter Type

    Example Value

    area_id

    STRING

    123120

    area

    STRING

    Beijing

    amount

    STRING

    50