<div dir="ltr"><div>Heh. Hadda look that one up.   Could work great, depending on resources and purpose.<br><br></div>-- CHS<br><br></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Mar 13, 2015 at 2:51 PM, DJ-Pfulio <span dir="ltr">&lt;<a href="mailto:DJPfulio@jdpfu.com" target="_blank">DJPfulio@jdpfu.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Or just use an ORM.<br>
<span class=""><br>
On 03/13/2015 02:36 PM, Charles Shapiro wrote:<br>
&gt; Hmm. I&#39;m not that familiar with MySQL, but in PostgreSQL the way to determine<br>
&gt; what you want is<br>
&gt;<br>
&gt; select<br>
</span>&gt;    <a href="http://animal.id" target="_blank">animal.id</a> &lt;<a href="http://animal.id" target="_blank">http://animal.id</a>&gt;<br>
<span class="">&gt; from<br>
&gt;    animal<br>
&gt; left join<br>
&gt;    food<br>
&gt; on<br>
</span>&gt;    <a href="http://animal.id" target="_blank">animal.id</a> &lt;<a href="http://animal.id" target="_blank">http://animal.id</a>&gt; = food.animalid<br>
&gt; where<br>
&gt;    <a href="http://food.id" target="_blank">food.id</a> &lt;<a href="http://food.id" target="_blank">http://food.id</a>&gt; is null<br>
<span class="">&gt; ;<br>
&gt;<br>
&gt;<br>
&gt; Writing SQL queries takes some practice.  One handy tip I&#39;ve found is to write<br>
&gt; the &quot;from...&quot; part first, then go back and fill in what columns you wish to select.<br>
&gt;<br>
&gt; Doing anything based on the numeric value of the &quot;id&quot; field is a Bad Idea.  In<br>
&gt; most relational databases, that field just increments when you add a record to<br>
&gt; your table.  It never decrements when you delete records.  That means that the<br>
&gt; ID value itself is useless in determining what is or is not in a table.   It&#39;s<br>
&gt; only useful when it&#39;s in another table -- hence the name, &quot;Relational&quot;.<br>
&gt;<br>
&gt;<br>
&gt; Your current table setup also breaks down if you add -- say -- a goat which<br>
&gt; wants to eat the same things as the giraffe. You&#39;re more likely to have several<br>
&gt; animals linked to the same foods than several foods linked to the same animal.<br>
&gt; Don&#39;t you really want a &quot;FoodFk&quot; in the &quot;animal&quot; table?  Then you could have<br>
&gt; lots of animals which eat the same thing.  Of course, I reckon in reality you&#39;d<br>
&gt; need a jump table to link foods and animals:<br>
&gt;<br>
&gt; food_animal { integer animalid references animal(id), integer foodid references<br>
&gt; food(id) }<br>
&gt;<br>
&gt; Then you could have lots of different foods and lots of different animals all<br>
&gt; linked together.<br>
&gt;<br>
&gt;<br>
&gt; -- CHS<br>
&gt;<br>
&gt;<br>
&gt; On Fri, Mar 13, 2015 at 1:52 PM, David S Jackson &lt;<a href="mailto:deepbsd.ale@gmail.com">deepbsd.ale@gmail.com</a><br>
</span><span class="">&gt; &lt;mailto:<a href="mailto:deepbsd.ale@gmail.com">deepbsd.ale@gmail.com</a>&gt;&gt; wrote:<br>
&gt;<br>
&gt;     Hi,<br>
&gt;<br>
&gt;     I&#39;m a MySQL newbie.  I&#39;m just starting to use Python to talk to MySQL<br>
&gt;     databases, but first I need to understand the MySQL query language!<br>
&gt;<br>
&gt;<br>
&gt;     So, I have two tables:  (zoo) animal and food.<br>
&gt;<br>
&gt;     animal has the columns ID, NAME, FAMILY, WEIGHT<br>
&gt;<br>
&gt;     food has  ID, ANIMALID, FEED<br>
&gt;<br>
&gt;<br>
&gt;     So if I go: select id, name, family, feed from animal JOIN food ON <a href="http://animal.id" target="_blank">animal.id</a><br>
</span>&gt;     &lt;<a href="http://animal.id" target="_blank">http://animal.id</a>&gt;=food.animalid;<br>
<span class="">&gt;<br>
&gt;<br>
&gt;     I get something like:<br>
&gt;<br>
&gt;     ID   NAME        FAMILY      FEED<br>
&gt;     1    Seymore   Snake        mice, leaves<br>
&gt;     2    Gerard      Giraffe       leaves, grass<br>
&gt;     ...<br>
&gt;     etc<br>
&gt;<br>
&gt;     So, if I have a situation where I want to see whether an animal has been<br>
&gt;     added the animal table but may have not been added to the food table, how<br>
&gt;     would I compose that query?<br>
&gt;<br>
&gt;     That is, the animal could have been added to the animal table and could get<br>
&gt;     an id, say 10, but the food table could have 20 foods already entered and<br>
&gt;     the animal-id would be used several times.<br>
&gt;<br>
&gt;     I was thinking, is there a way I can ask, &quot;does the highest <a href="http://animal.id" target="_blank">animal.id</a><br>
</span>&gt;     &lt;<a href="http://animal.id" target="_blank">http://animal.id</a>&gt; number equal the highest food.animalid number&quot;?  If not,<br>
<div class="HOEnZb"><div class="h5">&gt;     what animal is not getting fed?<br>
&gt;<br>
&gt;     Dave<br>
&gt;<br>
_______________________________________________<br>
Ale mailing list<br>
<a href="mailto:Ale@ale.org">Ale@ale.org</a><br>
<a href="http://mail.ale.org/mailman/listinfo/ale" target="_blank">http://mail.ale.org/mailman/listinfo/ale</a><br>
See JOBS, ANNOUNCE and SCHOOLS lists at<br>
<a href="http://mail.ale.org/mailman/listinfo" target="_blank">http://mail.ale.org/mailman/listinfo</a><br>
</div></div></blockquote></div><br></div>