2 Eylül 2021 Perşembe

SQL Subselect - Aynı zamanda Subquery de deniliyor

Giriş
Açıklaması şöyle. İç içe sorgularda içteki sorgu önce çalıştırılır. 
A subquery is an SQL query that is nested in another SQL query. They assist queries in creating conditions for a WHERE clause to filter rows and perform operations on them. Subqueries can be used with SELECT, INSERT, UPDATE, and DELETE statements.
Açıklaması şöyle. Yani Subselect aslında Join'e bir alternatiftir.
Advantages of Subqueries
- Subqueries improve query readability as opposed to joins by structuring them into isolated parts.
- It is easy to understand and maintain subqueries easily.
- Subqueries can replace complex joins and unions.

Disadvantages of Subqueries
- Subqueries cannot modify a table and select from the same table in the same SQL statement.
- Subqueries are an expensive task, so it's faster to use a join operation.
Mesela arasında aynı tablo içinde bilinen bir satırdan farklı özelliklere sahip diğer satırları bulmak için kullanılması sayılabilir. 

Örnek - Aynı Tablo
Maaşı Tom'dan büyük olanları bulmak için şöyle yaparız
SELECT * FROM employee WHERE sal > (SELECT sal WHERE name='TOM');
Örnek - Farklı İki Tablo Select
Şöyle yaparız
SELECT * FROM buyer WHERE buyername IN (SELECT buyer FROM sku_data);
Örnek - Farklı İki Tablo Update
Şöyle yaparız
UPDATE order_item SET prices=prices*1.1 WHERE sku IN (SELECT sku FROM catalog_sku_2016);
Örnek - Farklı İki Tablo Delete
Şöyle yaparız
DELETE FROM inventory WHERE warehouseid IN (SELECT warehouseid FROM warehouse WHERE
squarefeet < 130000);
Örnek - Nested Subqueries
Şöyle yaparız
SELECT *
FROM catalog_sku_2017
WHERE sku IN
    (
        SELECT sku
        FROM inventory
        WHERE warehouseid IN
        (
            SELECT warehouseid
            FROM warehouse
            WHERE squarefeet > 130000
        )
    );


Hiç yorum yok:

Yorum Gönder