คอมพิวเตอร์ซอฟต์แวร์

Coalesce sql: คำอธิบายการใช้งานตัวอย่าง

เมื่อรวบรวมข้อความค้นหา sql มักเกิดขึ้นเมื่อคุณเลือกข้อมูลคุณต้องเปรียบเทียบค่าของคอลัมน์หลายคอลัมน์และส่งออกข้อมูลหนึ่งชุดที่มีข้อมูล (ไม่ว่าง) ปัญหานี้ได้รับการแก้ไขอย่างสมบูรณ์โดยการนิพจน์ Coalesce ในบทความนี้คุณจะพบคำอธิบายที่สมบูรณ์ของนิพจน์ Coalesce sql คำอธิบายคุณลักษณะการใช้งานรวมถึงตัวอย่าง

ผลลัพธ์ของค่าที่ไม่ใช่ค่า null โดยใช้ Coalesce คุณสมบัติ

พิจารณา Sql Coalesce คุณสมบัติของการใช้:

  1. อนุญาตให้ระบุอาร์กิวเมนต์จำนวนใด ๆ (ตรงกันข้ามกับ Isnull / Nvl / Nvl2 จำนวนอาร์กิวเมนต์ที่ จำกัด )
  2. สามารถยอมรับ subqueries เป็นอาร์กิวเมนต์ได้
  3. ส่งกลับค่าผลลัพธ์เท่ากับค่าที่ไม่ใช่ค่าแรกหรือ Null ถ้าไม่มีค่า
  4. Sql Coalesce สามารถใช้ใน Select clause เพื่อเลือกค่าที่ไม่ว่างเปล่าและใน Where เพื่อระบุว่าชุดของคอลัมน์ที่มีค่าว่างเปล่าไม่ได้รับอนุญาต (/ allowed)
  5. นิพจน์นี้เทียบเท่ากับการใช้นิพจน์ของ Case ซึ่งจะตรวจสอบอาร์กิวเมนต์แต่ละครั้งติดต่อกันสำหรับเงื่อนไขเมื่ออาร์กิวเมนต์ 1 ไม่ใช่ null หลังจากนั้นอาร์กิวเมนต์ 1 ในความเป็นจริง Coalesce เป็นทางลัดที่ออกแบบมาเพื่อความสะดวกในการใช้งานและในตัวค้นหาแบบสอบถาม DBMS จำนวนมากได้เขียนนิพจน์ Coalesce ไว้ใน Case
  6. คุณสมบัติ Sql Coalesce มีอยู่ใน ระบบจัดการฐานข้อมูล เชิงสัมพันธ์ชั้นนำทั้งหมด

รวมไวยากรณ์

ทุกคนที่เคยใช้ Coalesce เพื่อรวบรวมข้อความค้นหา sql รู้ว่าไวยากรณ์ของนิพจน์นี้ง่ายมาก ก็เพียงพอที่จะระบุในอาร์กิวเมนต์วงเล็บที่มีการตรวจสอบใน Null คั่นด้วยเครื่องหมายจุลภาค ถ้าเราสมมติว่าอาร์กิวเมนต์มีชื่อ arg1, arg2, ... argN แล้วไวยากรณ์ Coalesce จะมีลักษณะดังนี้:

Coalesce (arg1, arg2, ... argN)

เราจะจัดทำตารางต่างๆเพื่อศึกษากลไกของการแสดงออกนี้

การเตรียมตาราง

เพื่อทำความเข้าใจ Coalesce sql description เราจะสร้างฐานข้อมูล 2 ตารางที่ประกอบด้วยข้อมูลเกี่ยวกับวัตถุอสังหาริมทรัพย์

ตารางพื้นที่แรกควรมีชื่อของวัตถุอสังหาริมทรัพย์และพื้นที่ของพวกเขา สามารถระบุพื้นที่ได้ (area_yt) หรือประกาศ (area_decl)

รหัส

object_name

area_yt

area_decl

1

อาคาร 1

116.2

114

2

วัตถุก่อสร้างที่ยังไม่เสร็จ 1

568

3

ห้องที่ 1

64.7

4

ห้องที่ 2

34.2

5

แปลงที่ดิน 1

112

111.6

6

สิ่งอำนวยความสะดวก 1

7

ห้องที่ 3

27.9

8

การก่อสร้าง 2

37.2

36.4

9

อาคาร 2

ตาราง Basic_characteristic ข้อที่สองควรมีข้อมูลเกี่ยวกับลักษณะสำคัญของอสังหาริมทรัพย์ - ส่วนขยายความลึกพื้นที่ขอบเขตขอบเขต

รหัส

object_name

ขยาย

ความลึก

พื้นที่

ขอบเขต

ความสูง

1

อาคาร 1

892.4

30

2

อาคาร 2

48

3

สิ่งอำนวยความสะดวก 1

164.7

4

แปลงที่ดิน 1

5

ห้องที่ 1

23.6

6

ห้องที่ 2

34.7

7

ห้องที่ 3

19.8

เราตรวจสอบไวยากรณ์ของ Coalesce sql คำอธิบายลักษณะการใช้งานและดำเนินการกับตัวอย่างโดยตรง

ตัวอย่างการใช้งาน

ไวยากรณ์ของการแสดงออก Coalesce เป็นเรื่องง่ายมาก แต่สิ่งสำคัญคือต้องจำไว้ว่าผลลัพธ์ของคำสั่งจะเป็นค่าที่ไม่ว่างเปล่า FIRST ที่พบจากรายการอาร์กิวเมนต์ ข้อสังเกตนี้มีความสำคัญมากดังนั้นอาร์กิวเมนต์ในการแสดงออกต้องอยู่ในลำดับความสำคัญ วิธีที่ง่ายที่สุดในการทำความเข้าใจหลักการของตารางพื้นที่ ทำคำขอที่เลือกชื่อของพร็อพเพอร์ตี้รวมทั้งค่าพื้นที่:

เลือก Area.id, Area.object_name, coalesce (Area.area_yt, Area.area_decl)

จากพื้นที่

และรับผล:

รหัส

object_name

เชื่อมต่อกัน

1

อาคาร 1

116.2

2

วัตถุก่อสร้างที่ยังไม่เสร็จ 1

568

3

ห้องที่ 1

64.7

4

ห้องที่ 2

34.2

5

แปลงที่ดิน 1

112

6

สิ่งอำนวยความสะดวก 1

7

ห้องที่ 3

27.9

8

การก่อสร้าง 2

37.2

9

อาคาร 2

สำหรับวัตถุ "อาคาร 1" "พล็อต 1" และ "อาคาร 2" ค่าพื้นที่ทั้งสองถูกเติมเต็ม แต่ในลำดับความสำคัญคือพื้นที่ที่ได้รับการขัดเกลาเนื่องจากเราได้ระบุไว้ในรายการอาร์กิวเมนต์เป็นอันดับแรก นิพจน์ Coalesce พบค่าที่ไม่ว่างเปล่าเป็นอันดับแรกและยกเลิกการหยุดการดูอาร์กิวเมนต์ต่อไป การก่อสร้างคำขอนี้ถูกต้องเนื่องจากพื้นที่ที่ระบุเจาะจงกว่าที่กำหนดไว้ ถ้าเราระบุพื้นที่ที่ประกาศเป็นอาร์กิวเมนต์แรกถ้าฟิลด์ตารางนี้เต็มแล้วก็จะเป็นลำดับความสำคัญ

นอกเหนือจากการใช้ใน Select แล้วมักใช้นิพจน์ Coalesce กับส่วน Where จะช่วยให้คุณสามารถตัดออกจากผลลัพธ์บรรทัดเหล่านี้ซึ่งรายการของช่องว่างเปล่า (หรือกลับกันให้รวมเฉพาะค่าเหล่านี้ในผลลัพท์ที่ไม่ได้ป้อนข้อมูลในฟิลด์) สถานการณ์นี้มีอยู่ทุกหนทุกแห่ง: ตัวอย่างเช่นในขณะที่ลงทะเบียนพนักงานใหม่จะมีการป้อนข้อมูลพื้นฐานเกี่ยวกับพนักงานเท่านั้นในฐานข้อมูลและข้อมูลรายละเอียดก็ถูกทิ้งไว้ "for later" ค่อยๆ "ช่องว่าง" ลอยขึ้น - ทั้งก่อนเช็คหรือเมื่อส่งพนักงานในวันหยุด / เดินทางธุรกิจ / ลาป่วย

เลือกจากตารางที่มีลักษณะสำคัญของวัตถุอสังหาริมทรัพย์ซึ่งไม่ได้กรอกค่าใด ๆ ของลักษณะ:

SELECT id, object_name

จาก Basic_characteristic

ที่รวมกัน (ส่วนขยาย, ความลึก, พื้นที่, ขอบเขต, ความสูง) เป็นโมฆะ

สำหรับแบบสอบถามนี้จะมีคำที่ตรงกันในตารางซึ่ง ได้แก่ "พล็อต 1" ซึ่งในทุกฟิลด์ที่มีลักษณะว่างเปล่า:

รหัส

object_name

4

แปลงที่ดิน 1

เราหวังว่าคำอธิบายเกี่ยวกับ Coalesce sql รายละเอียดของเราจะช่วยให้คุณเข้าใจคุณลักษณะทั้งหมดของการใช้นิพจน์นี้รวมทั้งจัดการกับความแตกต่างที่สำคัญ

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 th.birmiss.com. Theme powered by WordPress.