Persediaan Temu Duga SQL · Pelajaran

Lajur Terhitung dan Keutamaan Ungkapan

Aritmetik, penggabungan dan keutamaan operator dalam senarai SELECT

Pelajaran 2 daripada 413 langkah

Lajur Terhitung dan Keutamaan Ungkapan ialah pelajaran Persediaan Temu Duga SQL percuma di CoddyKit. Ini ialah pelajaran 2 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Persediaan Temu Duga SQL, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Persediaan Temu Duga SQL merangkumi sejumlah 4 pelajaran.

Lajur Terhitung dalam SELECT

Lajur terhitung ialah ungkapan dalam SELECT yang menghasilkan suatu nilai, bukannya membaca nilai secara langsung — seperti price * quantity. Berikan alias yang jelas kepadanya.

SELECT product,
       price,
       quantity,
       price * quantity AS line_total
FROM order_items;

Operator Aritmetik

SQL mempunyai operator matematik yang lazim: +, -, *, /, serta operasi modulo. Jenis hasil mengikut operand — dan di situlah perangkap seterusnya tersembunyi.

SELECT 7 + 3 AS sum_val,
       7 - 3 AS diff_val,
       7 * 3 AS prod_val,
       7 % 3 AS remainder;

Perangkap Pembahagian Integer

Berhati-hati: membahagi dua integer menghasilkan pembahagian integer, jadi 5 / 2 memberikan 2, bukannya 2.5. Betulkannya dengan menukar salah satu bahagian kepada perpuluhan atau mendarab dengan 1.0.

SELECT 5 / 2          AS int_div,    -- 2
       5 * 1.0 / 2    AS real_div,   -- 2.5
       CAST(5 AS DECIMAL) / 2 AS cast_div; -- 2.5

Keutamaan Operator

SQL mengikut keutamaan matematik biasa: * dan / dilaksanakan sebelum + dan -. Jadi 2 + 3 * 4 ialah 14, bukannya 20. Tanda kurung mengatasi segala-galanya.

SELECT 2 + 3 * 4      AS no_parens,  -- 14
       (2 + 3) * 4    AS with_parens; -- 20

Keutamaan dalam Pertanyaan Diskaun Sebenar

Ralat keutamaan sering berlaku dalam logik perniagaan. Untuk harga selepas diskaun, price - price * rate adalah betul kerana * dilaksanakan dahulu. Sentiasa semak kewajaran pengelompokan yang sebenarnya digunakan oleh enjin.

SELECT price,
       discount_rate,
       price - price * discount_rate / 100 AS net_price
FROM products;

Penggabungan Rentetan

Penggabungan teks bergantung pada pangkalan data: || dalam Postgres dan SQL piawai, + dalam SQL Server, serta CONCAT() dalam MySQL. CONCAT() ialah pilihan yang selamat dan mudah alih.

-- Postgres / standard
SELECT first_name || ' ' || last_name AS full_name
FROM employees;

-- Portable
SELECT CONCAT(first_name, ' ', last_name) AS full_name
FROM employees;

NULL Merosakkan Aritmetik

Perkara penting: sebarang pengiraan dengan NULL menghasilkan NULL. Jadi base_salary + bonus ialah NULL bagi sesiapa yang tidak mempunyai bonus. Bungkus lajur yang berisiko dalam COALESCE untuk membekalkan nilai lalai.

SELECT base_salary,
       bonus,
       base_salary + bonus            AS unsafe_total,
       base_salary + COALESCE(bonus,0) AS safe_total
FROM employees;

Penggabungan dan NULL mengikut Dialek

NULL turut mempengaruhi teks, dan dialek berbeza: Postgres menjadikan keseluruhan rentetan hilang, manakala CONCAT SQL Server menganggap NULL sebagai kosong. Bungkus setiap bahagian dengan COALESCE untuk mendapatkan output yang konsisten.

SELECT COALESCE(first_name,'') || ' ' || COALESCE(last_name,'') AS full_name
FROM employees;

Fungsi dalam Ungkapan

Lajur terhitung boleh membungkus fungsi seperti ROUND, ABS atau UPPER. Panggilan fungsi hanyalah satu lagi ungkapan, jadi Anda boleh menyarangnya terus dalam pengiraan.

SELECT product,
       ROUND(price * quantity * 1.0, 2) AS line_total,
       UPPER(product)                   AS product_caps
FROM order_items;

Paksaan Jenis dan CAST

Apabila jenis operand berbeza, SQL melakukan paksaan jenis tersirat yang boleh mengejutkan Anda. Nyatakan dengan jelas menggunakan CAST(expr AS type) — penemu duga akan melihatnya sebagai kod yang teliti dan berwaspada.

SELECT 'Order #' || CAST(order_id AS VARCHAR) AS label
FROM orders;

Ungkapan Boolean sebagai Lajur

Perbandingan seperti price > 100 itu sendiri ialah suatu ungkapan. Postgres boleh memilihnya sebagai benar/palsu, tetapi jawapan mudah alih membungkusnya dalam CASE untuk menghasilkan 1/0 atau suatu label.

-- Portable
SELECT product,
       CASE WHEN price > 100 THEN 1 ELSE 0 END AS is_pricey
FROM products;

Semakan Pantas

Nilaikan ungkapan ini.

Ringkasan

Ringkasan: berikan alias kepada lajur terhitung Anda. Gunakan CAST untuk pembahagian perpuluhan, ambil kira keutamaan, gunakan CONCAT() untuk teks mudah alih — dan ingat bahawa NULL merosakkan pengiraan, jadi lindunginya dengan COALESCE.

Percuma untuk bermula

Pelajari SQL dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
30
Pelajaran
120

Soalan Lazim

Adakah pelajaran “Lajur Terhitung dan Keutamaan Ungkapan” percuma?

Ya — teks penuh “Lajur Terhitung dan Keutamaan Ungkapan” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus Persediaan Temu Duga SQL, tingkat taraf kepada CoddyKit PRO. Kursus Persediaan Temu Duga SQL merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Lajur Terhitung dan Keutamaan Ungkapan”?

Aritmetik, penggabungan dan keutamaan operator dalam senarai SELECT Anda berlatih Persediaan Temu Duga SQL menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Persediaan Temu Duga SQL?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Persediaan Temu Duga SQL di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 2 daripada 4.

Berapa lamakah pelajaran “Lajur Terhitung dan Keutamaan Ungkapan” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Persediaan Temu Duga SQL ini?

Ya. Setiap pelajaran Persediaan Temu Duga SQL menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Memproyeksikan Lajur dan Perangkap Alias
  2. Lajur Terhitung dan Keutamaan Ungkapan
  3. DISTINCT berbanding GROUP BY untuk Keunikan
  4. Ungkapan CASE dalam SELECT
← Kembali ke Persediaan Temu Duga SQL