{"id":552,"date":"2023-05-14T14:53:24","date_gmt":"2023-05-14T14:53:24","guid":{"rendered":"https:\/\/tarkvara.thkit.ee\/veeb\/?page_id=552"},"modified":"2023-05-17T10:14:40","modified_gmt":"2023-05-17T10:14:40","slug":"tabelite-uhendamine-paringutes-lk-41","status":"publish","type":"page","link":"https:\/\/tarkvara.thkit.ee\/veeb\/tabelite-uhendamine-paringutes-lk-41\/","title":{"rendered":"Tabelite \u00fchendamine p\u00e4ringutes"},"content":{"rendered":"\n<p>Praegu on meil olemas kaks eraldi tabelit. Laste loetelu ning lemmikloomade loetelu, iga lemmiklooma juures on kirjas lapse id, kelle \u00fclesandeks on vastava looma eest hoolt kanda. Soovides teada, kelle oma on Miisu, tuleb &#8220;k\u00e4sitsi&#8221; uurides minna k\u00f5igepealt lemmikloomade tabelisse, otsida sealt \u00fcles Miisu peremehe_id ning siis minna selle arvu j\u00e4rgi laste tabelist peremehe nime ja muid andmeid otsima. Et selline tabelite \u00fchendamine aga on andmebaaside juures sage ja h\u00e4davajalik, siis on \u00fchendamise jaoks loodud omad k\u00e4sklused.<\/p>\n\n\n\n<p>J\u00e4rgnevalt \u00fchendatakse laste andmetabeli k\u00fclge lemmikloomade andmetabel, kusjuures ridade k\u00f5rvutamise tingimuseks on, et lapse id-number ning lemmiklooma peremehe_id-number oleksid v\u00f5rdsed. T\u00e4rn SELECT\u00b4i j\u00e4rel teatab, et n\u00e4idataks k\u00f5iki v\u00f5imalikke veerge. Ridadest on praeguse p\u00e4ringu puhul n\u00e4htavad ainult need lapsed, kel lemmikloom olemas. Ja kui m\u00f5nel lapsel oleks mitu lemmiklooma, siis n\u00e4idataks ka selle lapse andmed mitmekordselt. Mitmekordsest n\u00e4itamisest hoolimata talletatakse aga selle lapse andmeid baasis ikkagi \u00fchekordselt. Nii et kui kellegi pikkus peaks muutuma, siis piisab selle m\u00e4rkimisest \u00fches kohas.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: sql; title: ; notranslate\" title=\"\">\nSELECT * FROM lapsed \nINNER JOIN lemmikloomad \nON lemmikloomad.peremehe_id=lapsed.id\n\n<\/pre><\/div>\n\n\n<p><\/p>\n\n\n\n<p>INNER JOINi nimeline s\u00fcntaks on levinud SQL Serveris. Sama toimingu kirjapanekuks aga on ka teine viis, mis t\u00f6\u00f6tab nii siin kui teiste SQL standardit arvestavate andmebaaside peal. FROM-s\u00f5na j\u00e4rgi kirjutatakse k\u00f5ikide osalevate tabelite loetelu ning WHERE-tingimusega seatakse, millised read peavad omavahel v\u00f5rdsed olema. Nagu n\u00e4ha, on tulemus eelmise p\u00e4ringuga v\u00f5rreldes samasugune.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: sql; title: ; notranslate\" title=\"\">\nSELECT * FROM lapsed, lemmikloomad\nWHERE lemmikloomad.peremehe_id=lapsed.id\n<\/pre><\/div>\n\n\n<p><\/p>\n\n\n\n<p>Tabeleid \u00fchendades saab lihtsalt mitmest tabelist kokku \u00fche. Muud tingimused ja j\u00e4rjestamised k\u00e4ivad ikka samamoodi. Ehk siis, kui tahta panna andmed peremeeste nimede j\u00e4rgi t\u00e4hestikulisse j\u00e4rjekorda, siis aitab endiselt ORDER BY eesnimi.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: sql; title: ; notranslate\" title=\"\">\nSELECT * FROM lapsed, lemmikloomad\nWHERE lemmikloomad.peremehe_id=lapsed.id\nORDER BY eesnimi\n<\/pre><\/div>\n\n\n<p><\/p>\n\n\n\n<p>Tabelite j\u00e4rjekord p\u00e4ringus m\u00e4\u00e4rab ka nende j\u00e4rjekorra tr\u00fckitavas vastuses. Kui andmete poole p\u00f6\u00f6rdutakse tulba nime j\u00e4rgi, pole sel erilist vahet. Kui aga kasutatakse tulba j\u00e4rjekorraumbrit, siis peab teadma, mitmendana milline tulp kus asetseb. Siin siis lemmikloomad ees ja lapsed j\u00e4rgi.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: sql; title: ; notranslate\" title=\"\">\nSELECT * FROM lemmikloomad\nINNER JOIN lapsed \nON lemmikloomad.peremehe_id=lapsed.id\n<\/pre><\/div>\n\n\n<p><\/p>\n\n\n\n<p>Tahtes n\u00e4ha vaid osa tulpasid k\u00f5igi asemel, tuleb nende tulpade nimed ette lugeda. Ikka sarnaselt nagu \u00fchestki tabelist tehtavate p\u00e4ringute korral.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: sql; title: ; notranslate\" title=\"\">\nSELECT eesnimi, loomanimi FROM lemmikloomad\nINNER JOIN lapsed \nON lemmikloomad.peremehe_id=lapsed.id\nSiiri\tMiisu\nSiim\tPauka\n<\/pre><\/div>\n\n\n<p><\/p>\n\n\n\n<p>Et INNER JOIN on SQL Serveri jaoks vaikimisi \u00fchendusviis, v\u00f5ib s\u00f5na INNER \u00e4ra j\u00e4tta \u2013 p\u00e4ring t\u00f6\u00f6tab ikka samamoodi.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: sql; title: ; notranslate\" title=\"\">\nSELECT eesnimi, loomanimi FROM lemmikloomad\nJOIN lapsed ON lemmikloomad.peremehe_id=lapsed.id\nSiiri\tMiisu\nSiim\tPauka\n<\/pre><\/div>","protected":false},"excerpt":{"rendered":"<p>Praegu on meil olemas kaks eraldi tabelit. Laste loetelu ning lemmikloomade loetelu, iga lemmiklooma juures on kirjas lapse id, kelle \u00fclesandeks on vastava looma eest hoolt kanda. Soovides teada, kelle oma on Miisu, tuleb &#8220;k\u00e4sitsi&#8221; uurides minna k\u00f5igepealt lemmikloomade tabelisse, otsida sealt \u00fcles Miisu peremehe_id ning siis minna selle arvu j\u00e4rgi laste tabelist peremehe nime &hellip; <a href=\"https:\/\/tarkvara.thkit.ee\/veeb\/tabelite-uhendamine-paringutes-lk-41\/\" class=\"more-link\">Loe edasi <span class=\"screen-reader-text\">Tabelite \u00fchendamine p\u00e4ringutes<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-552","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/tarkvara.thkit.ee\/veeb\/wp-json\/wp\/v2\/pages\/552","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tarkvara.thkit.ee\/veeb\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/tarkvara.thkit.ee\/veeb\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/tarkvara.thkit.ee\/veeb\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/tarkvara.thkit.ee\/veeb\/wp-json\/wp\/v2\/comments?post=552"}],"version-history":[{"count":8,"href":"https:\/\/tarkvara.thkit.ee\/veeb\/wp-json\/wp\/v2\/pages\/552\/revisions"}],"predecessor-version":[{"id":622,"href":"https:\/\/tarkvara.thkit.ee\/veeb\/wp-json\/wp\/v2\/pages\/552\/revisions\/622"}],"wp:attachment":[{"href":"https:\/\/tarkvara.thkit.ee\/veeb\/wp-json\/wp\/v2\/media?parent=552"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}