<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://www.dotnetzone.gr:443/cs/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>SQL Server (και άλλες databases)</title><link>https://www.dotnetzone.gr:443/cs/forums/28/ShowForum.aspx</link><description>Θέματα που αφορούν τον SQL Server (7.0, 2000, 2005) αλλά και Oracle, Access, DB2, MySQL, κλπ.</description><dc:language>el</dc:language><generator>CommunityServer 2.1 SP3 (Build: 20423.1)</generator><item><title>Απ:Re: SQL απορια για query</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/3744.aspx</link><pubDate>Fri, 22 Jul 2005 10:57:45 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:3744</guid><dc:creator>cap</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/3744.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=3744</wfw:commentRss><description>&lt;P&gt;&lt;BLOCKQUOTE&gt;&lt;table width="85%"&gt;&lt;tr&gt;&lt;td class="txt4"&gt;&lt;img src="/cs/Themes/default/images/icon-quote.gif"&gt;&amp;nbsp;&lt;strong&gt;yiannispan wrote:&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="quoteTable"&gt;&lt;table width="100%"&gt;&lt;tr&gt;&lt;td width="100%" valign="top" class="txt4"&gt;Ποτέ μην χρησιμοποιείς την σύνταξη "select *...". Αυξάνεις τον όγκο των δεδομένων που επιστρέφονατι από την βάση και -από πείρας στο λέω- το πιο πιθανό είναι να μην χρειάζεσαι όλη αυτή τη πληροφορία στις περισσότερες περιπτώσεις.&lt;BR&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/BLOCKQUOTE&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Σωστό! Συν οτι ο SQL Server αναλώνει χρόνο στο να κάνει το resolve των πεδίων που πρέπει να επιστρέψει (σωστα τα λέω Πανο; ). Απλά κι εγώ δεν έδωσα σημασία στο αστεράκι, λόγω του οτι το θέμα μας αφορούσε περισσότερο το WHERE clause. Παντως είναι μια πολύ σωστή παρατήρηση.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description></item><item><title>Απ:Re: SQL απορια για query</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/3741.aspx</link><pubDate>Fri, 22 Jul 2005 07:37:28 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:3741</guid><dc:creator>BadCluster</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/3741.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=3741</wfw:commentRss><description>Γεια σας,&lt;br /&gt;&lt;br /&gt;η εντολή &lt;br /&gt;&lt;br /&gt;SELECT * &lt;br /&gt;FROM BOOKS &lt;br /&gt;WHERE &lt;br /&gt;TITLE LIKE  '_word 2000_'&lt;br /&gt;&lt;br /&gt;δε σε βοηθάει???&lt;br /&gt;αν έδινες ένα παράδειγμα του αποτελέσματος του query θα βοήθαγες...&lt;br /&gt;Κάποια στιγμή είχα χρησιμοποιήσει σε sql plus query που περιείχε το χαρακτήρα Ω ,&lt;br /&gt;δε θυμάμαι όμως για ποιό ακριβώς λόγο το έκανα και αν είχα βάλει like πριν...&lt;br /&gt;</description></item><item><title>Re: SQL απορια για query</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/3545.aspx</link><pubDate>Sun, 17 Jul 2005 21:45:58 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:3545</guid><dc:creator>yiannispan</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/3545.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=3545</wfw:commentRss><description>Ποτέ μην χρησιμοποιείς την σύνταξη "select *...". Αυξάνεις τον όγκο των δεδομένων που επιστρέφονατι από την βάση και -από πείρας στο λέω- το πιο πιθανό είναι να μην χρειάζεσαι όλη αυτή τη πληροφορία στις περισσότερες περιπτώσεις.&lt;br /&gt; &lt;br /&gt; Προσπάθησε να αποφεύγεις τα or σε where clause των queries που γράφεις(όποτε αυτό είναι δυνατόν). Αν π.χ. ψάχνεις μόνο για "word" τότε μπορείς να εκταλέσεις την sql:&lt;br /&gt; select column-1, column-2,...column-n from books where title like '%word%'&lt;br /&gt; Σημείωση: Αν ακολουθήσεις αυτή τη σύνταξη (%word%), τότε ο SQL Server ακόμα και αν η στήλη title έχει κάποιο index, ΔΕΝ θα το χρησιμοποιήσει.&lt;br /&gt; &lt;br /&gt; Αν π.χ. ψάχνεις για "word" ή "word 2000" τότε μπορείς να εκταλέσεις την sql:&lt;br /&gt; select column-1, column-2,...column-n from books where title like '%word%'&lt;br /&gt; union&lt;br /&gt; select column-1, column-2,...column-n from books where title like '%word 2000%'&lt;br /&gt; &lt;br /&gt; Σε πίνακες με πολλά rows θα εκτελεστεί πιο γρήγορα από το ...title like '%word%' or title like '%word 2000%'&lt;br /&gt; &lt;br /&gt; &lt;br /&gt;</description></item><item><title>Re: SQL απορια για query</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/3468.aspx</link><pubDate>Thu, 14 Jul 2005 22:47:55 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:3468</guid><dc:creator>cap</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/3468.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=3468</wfw:commentRss><description>&lt;p&gt;Αν είσαι σίγουρος για το τι προηγείται ή έπεται της λέξης που αναζητάς, μπορείς να χρησιμοποιήσεις expressions μέσα στο like. Για παράδειγμα:&lt;br /&gt;&lt;br /&gt;SELECT * &lt;br /&gt;FROM BOOKS &lt;br /&gt;WHERE &lt;br /&gt;TITLE LIKE &lt;br /&gt;'%[^abcdefghijilmnopqrstuvwxyz0123456789]word[^abcdefghijilmnopqrstuvwxyz0123456789]%'&lt;br /&gt;&lt;br /&gt;Το expression περικλείεται από τα brackets [] και οτιδήποτε βρίσκεται εκεί μέσα ακολουθεί τους εξής κανόνες:&lt;br /&gt;&lt;br /&gt;Αν προηγείται στην αρχή ο χαρακτήρας ^, τότε δεν θα πρέπει να βρεθεί ένα από τα επόμενα γράμματα. π.χ. %[^012]word% θα σου φέρει τα aword, bword, zword, bwords, cwordprocessor αλλά όχι τα 0word, whatever1wordprocessor.&lt;br /&gt;&lt;br /&gt;Αν δεν προηγείται, τότε θα πρέπει οπωσδήποτε να βρεθεί ένα από τα επόμενα γράμματα. Π.χ. %[012]word% θα σου φέρει τα 1word, my2words, αλλά όχι τα whateverbword, cword κλπ.&lt;br /&gt;&lt;br /&gt;Το %[^abc]word% π.χ. σου βρίσκει όλα τα occurences της λέξης word όταν αυτή ΔΕΝ προηγείται (εξ'ού ο χαρακτήρας ^ που δηλώνει το "δεν"), από τα γράμματα a b c. Δηλαδή δεν θα σου φέρει εγγραφές που περιέχουν τις λέξεις aword, bword, cword, myaword, whateverbword κλπ.&lt;br /&gt;&lt;br /&gt;Φυσικά αν θέλεις να περιλαμβάνεις και εγγραφές που η λέξη βρίσκεται στην αρχή ή το τέλος του πεδίου πρέπει να κάνεις το εξής:&lt;br /&gt;&lt;br /&gt;SELECT * &lt;br /&gt;FROM BOOKS &lt;br /&gt;WHERE &lt;br /&gt;TITLE LIKE &lt;br /&gt;'%[^abcdefghijilmnopqrstuvwxyz0123456789]word[^abcdefghijilmnopqrstuvwxyz0123456789]%'&lt;br /&gt;OR&lt;br /&gt;TITLE LIKE &lt;br /&gt;'word[^abcdefghijilmnopqrstuvwxyz0123456789]%'&lt;br /&gt;OR&lt;br /&gt;TITLE LIKE &lt;br /&gt;'%[^abcdefghijilmnopqrstuvwxyz0123456789]word'&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;</description></item><item><title>Re: SQL απορια για query</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/3467.aspx</link><pubDate>Thu, 14 Jul 2005 22:25:00 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:3467</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/3467.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=3467</wfw:commentRss><description>Δυστυχώς το like δεν είναι τόσο έξυπνο, καταλαβαίνει μόνο δύο wildcards, το _ και το %. Για να βρεις ολόκληρες λέξεις θα πρέπει να δώσεις όλες τις δυνατές μορφές της λέξης, πχ:&lt;br /&gt;&lt;br /&gt;&lt;font color="#ff0000"&gt;select * from books where title like '% word %' or title like '% word.%' or title like '% word,%' or title like '%.word %' or title like '%,word %'&lt;br /&gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="#000000"&gt;Αν έχει κανείς καμμία καλύτερη ιδέα ...&lt;/font&gt;</description></item><item><title>SQL απορια για query</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/3465.aspx</link><pubDate>Thu, 14 Jul 2005 22:12:51 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:3465</guid><dc:creator>spyros</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/3465.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=3465</wfw:commentRss><description>&lt;p&gt;&amp;nbsp;εχουμε&amp;nbsp;ενα πινακα (books)&amp;nbsp;με τη μία στήλη(title) να περιέχει ονοματα βιβλίων . μπορόύμε με&amp;nbsp;query να επιλέγουμε τις εγγραφές που περιέχουν στο title μια συγκεκριμένη λέξη&amp;nbsp;,εστω 'word' πχ 'word 2000'?&amp;nbsp;&lt;/p&gt; &lt;p&gt;το &lt;font color="#ff0000"&gt;select * from books where title like 'word'&lt;/font&gt; επιστρέφει ακόμα και τιτλους που εχουν το word σαν τμήμα άλλης λέξης&amp;nbsp; ενω&lt;/p&gt; &lt;p&gt;το &lt;font color="#ff0000"&gt;select * from books where title&amp;nbsp;= 'word'&lt;/font&gt; επιστρέφει μόνο τιτλους που λέγονται word&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;</description></item></channel></rss>