joins
Katika SQL, umetumia aina gani, na ueleze jinsi zinavyofanya kazi?
Jibu:
INNER JOIN
: Hurejesha safu mlalo zilizo na data inayolingana kutoka kwa jedwali zote mbili.LEFT JOIN
: Hurejesha safu mlalo zote kutoka kwa jedwali la kushoto na safu mlalo zinazolingana kutoka kwa jedwali la kulia.RIGHT JOIN
: Hurejesha safu mlalo zote kutoka kwa jedwali la kulia na safu mlalo zinazolingana kutoka kwa jedwali la kushoto.FULL JOIN
: Hurejesha safu mlalo zote kutoka kwa jedwali zote mbili, ikijumuisha safu mlalo zisizolingana.
Eleza dhana za ACID katika SQL na jukumu lake katika usimamizi wa shughuli
Jibu: ACID inasimama kwa Atomicity, Consistency, Isolation, Durability
. Hizi ni mali muhimu katika usimamizi wa shughuli katika SQL:
Atomicity
inahakikisha kwamba shughuli inachakatwa kikamilifu au haijachakatwa kabisa.Consistency
inahakikisha kwamba data lazima ifuate sheria, vikwazo na masharti yaliyobainishwa.Isolation
inahakikisha kwamba shughuli za pamoja haziingiliani.Durability
huhakikisha kwamba mara shughuli inapokamilika, mabadiliko katika hifadhidata yanahifadhiwa kwa usalama na kwa kudumu.
Kuna tofauti gani kati ya ROW_NUMBER(), RANK(), DENSE_RANK()
kazi katika SQL?
Jibu: ROW_NUMBER(), RANK(), DENSE_RANK()
zote zinatumika kwa kuhesabu safu katika matokeo ya hoja, lakini zina tofauti zifuatazo:
ROW_NUMBER()
: Huweka nambari zinazoendelea kwa safu mlalo katika matokeo ya hoja, bila kuzingatia nakala.RANK()
: Huweka nambari kwa safu mlalo katika tokeo la hoja na kuruka nambari inayofuata iwapo kuna uhusiano.DENSE_RANK()
: Huweka nambari kwa safu mlalo katika tokeo la hoja na hairuki nambari inayofuata iwapo kuna uhusiano.
Jinsi ya kutumia window functions
katika SQL, na kutoa mfano.
Jibu: Window functions
ruhusu kufanya mahesabu kwenye seti ya safu mlalo zinazohusiana bila kubadilisha matokeo ya hoja kuu. Kwa mfano, tunaweza kutumia vitendakazi vya dirisha kukokotoa jumla zinazoendeshwa au kupata safu mlalo za juu za N ndani ya seti ya matokeo.
SELECT ProductID, UnitPrice,
SUM(UnitPrice) OVER(ORDER BY ProductID) AS RunningTotal
FROM Products;
Jinsi ya kutumia misemo ya kawaida katika SQL kwa kulinganisha muundo
Jibu: Semi za kawaida katika SQL hutumiwa kwa utafutaji changamano wa muundo wa maandishi. Mara nyingi hutumiwa na LIKE
opereta au kazi kama REGEXP_LIKE
(katika Oracle) au REGEXP_MATCHES
(katika PostgreSQL).
SELECT * FROM Employees WHERE LastName LIKE '%son%';
Jinsi ya kutumia kazi za JSON katika SQL kufanya kazi na data ya JSON
Jibu: Vitendaji vya JSON katika SQL huruhusu kuuliza, kuingiza, kusasisha, na kufuta data katika umbizo la JSON katika hifadhidata.
Kwa mfano, tunaweza kutumia chaguo za kukokotoa kama vile JSON_VALUE, JSON_QUERY, JSON_MODIFY(katika Seva ya SQL), au waendeshaji kama ->, ->>, #>, #>>, n.k.(katika PostgreSQL) ili kuchezea sifa za JSON.
SELECT JSON_VALUE(CustomerInfo, '$.Name') AS CustomerName
FROM Customers;
Mbinu za hali ya juu za uboreshaji wa hoja za SQL na urekebishaji wa utendaji wa hifadhidata
Jibu: Ili kuboresha hoja za SQL na utendaji wa hifadhidata, tunaweza kutumia mbinu kama vile:
- Kutumia faharasa kwa safu wima zinazoulizwa mara kwa mara.
- Kuboresha
JOIN
naWHERE
vifungu vya urejeshaji data kwa ufanisi. - Kutumia vitendaji vya dirisha na utaftaji inapohitajika.
- Inaepuka
SELECT
* kupata safu wima zinazohitajika pekee. - Kutumia vidokezo vya maswali katika visa vingine.
- Kuhakikisha urekebishaji wa data na kuondoa nakala.
- Kutumia zana za ufuatiliaji wa utendaji kufuatilia na kurekebisha hifadhidata.
Eleza jinsi ya kutumia SET
shughuli (UNION, INTERSECT, EXCEPT)
katika SQl
Jibu: SET
shughuli (UNION, INTERSECT, EXCEPT)
hutumiwa kuchanganya na kuendesha seti za matokeo ya maswali tofauti.
UNION
: Huchanganya matokeo ya hoja mbili au zaidi katika seti moja ya data na kuondoa nakala.INTERSECT
: Hurejesha safu mlalo zinazoonekana katika seti zote mbili za matokeo ya hoja.EXCEPT
: Hurejesha safu mlalo zinazoonekana katika seti ya matokeo ya hoja ya kwanza lakini si katika ya pili.
Jinsi ya kutumia kazi za kuuliza kama LEAD, LAG, FIRST_VALUE, LAST_VALUE
katika SQL
Jibu: Utendakazi wa hoja kama LEAD, LAG, FIRST_VALUE, LAST_VALUE
hutumika kupata thamani kutoka kwa safu mlalo zinazohusiana ndani ya matokeo sawa ya hoja.
LEAD
: Hupata thamani ya safuwima kutoka safu mlalo inayofuata katika matokeo ya hoja.LAG
: Hupata thamani ya safuwima kutoka safu mlalo iliyotangulia katika matokeo ya hoja.FIRST_VALUE
: Hurejesha thamani ya kwanza ya safu wima katika matokeo ya hoja.LAST_VALUE
: Hurejesha thamani ya mwisho ya safu wima katika matokeo ya hoja.