این محتوای محافظت شده، لطفا وارد شوید و ثبت نام کنید در دوره برای مشاهده این محتوا

۲ دیدگاه

  1. ۱۴ اردیبهشت ۱۴۰۱

    سلام
    من در این قسمت
    select * from [analys].[table1] t where [name] is null or [name] = ”
    t قبل از where رو متوجه نشدم برای چیه

    • Admin bar avatar
      ۱۴ اردیبهشت ۱۴۰۱

      سلام، وقت بخیر
      در این کوئری وجود t ضرورتی نداره و میشه حذفش کرد.
      اما بصورت کلی می توانید بعد از نام جدول یک کلمه (یا یک کاراکتر) بنویسید تا به عنوان یک نام مستعار یا آلیاس برای اسم آن جدول باشه.
      مثلا اگر دو جدول را با هم Join بزنیم و در هر دو جدول ستون name داشته باشه، دیگه نمیشه فقط گفت name و باید دقیقا مشخص کرد منظور ما کدام جدول است.
      select name from [analys].[table1] join [analys].[table2] …
      در کوئری بالا وقتی میگیم Select name خطا میگیره و میگه name از جدول table1 یا از جدول table2 ??
      برای رفع این خطا باید مثلا بگیم:
      select [analys].[table1].name from [analys].[table1] join [analys].[table2] …
      در کوئری بالا مشخص شد منظور ما از name ستون جدول table1 بوده. اما اگر هر جا اسم ستون میاد، اسم جدول را هم بیاریم کوئری طولانی و یکم پیچیده میشه
      برای سادگی میشه برای هر جدول یک اسم مستعار گذاشت:
      select t1.name from [analys].[table1] t1 join [analys].[table2] t2 …
      در مثال بالا از نام مستعار برای اسم جداول استفاده شده و میشه قبل از نام ستون از نام مستعارش استفاده کرد.

ارسال یک دیدگاه