{"id":310,"date":"2023-09-03T17:11:40","date_gmt":"2023-09-03T15:11:40","guid":{"rendered":"http:\/\/eines-informatiques.recursos.uoc.edu\/gestion-de-datos\/?page_id=310"},"modified":"2025-03-09T14:57:18","modified_gmt":"2025-03-09T12:57:18","slug":"1-8-consultas-basicas-filtros-y-condiciones","status":"publish","type":"page","link":"http:\/\/eines-informatiques.recursos.uoc.edu\/gestion-de-datos\/es\/1-8-consultas-basicas-filtros-y-condiciones\/","title":{"rendered":"1.8. Consultas b\u00e1sicas: filtros y condiciones"},"content":{"rendered":"<p>El comando <code>SELECT<\/code> permite tambi\u00e9n extraer de las tablas \u00fanicamente aquellos registros que poseen ciertas propiedades. Para especificar el filtro a realizar sobre el contenido de una tabla, debe a\u00f1adirse la cl\u00e1usula <strong><code>WHERE<\/code><\/strong>:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\" data-enlighter-theme=\"droide\">SELECT campo1, campo2,..., campon FROM tabla WHERE condicion;<\/pre>\n<p>La condici\u00f3n puede ser simple o compuesta, evalu\u00e1ndose sobre uno o m\u00e1s atributos de varias tablas. Los operadores de comparaci\u00f3n m\u00e1s habituales se muestran en la tabla 3.<\/p>\n<div class=\"tabletitle\"><p>Tabla 3. Operadores de comparaci\u00f3n en consultas de MySQL.<\/p>\n<\/div>\n<table width=\"393\">\n<tbody>\n<tr class=\"table-header\">\n<td width=\"102\"><strong>\u00a0Operador<\/strong><\/td>\n<td width=\"291\"><strong>\u00a0Significado<\/strong><\/td>\n<\/tr>\n<tr>\n<td width=\"102\"><code>=,&lt;&gt;<\/code><\/td>\n<td width=\"291\">\u00a0Igual\/diferente<\/td>\n<\/tr>\n<tr>\n<td width=\"102\"><code>&lt;,&gt;<\/code><\/td>\n<td width=\"291\">\u00a0Menor\/mayor<\/td>\n<\/tr>\n<tr>\n<td width=\"102\"><code>&lt;=,&gt;=<\/code><\/td>\n<td width=\"291\">\u00a0Menor\/mayor o igual<\/td>\n<\/tr>\n<tr>\n<td width=\"102\"><code>LIKE<\/code><\/td>\n<td width=\"291\">\u00a0B\u00fasqueda de un patr\u00f3n de texto<\/td>\n<\/tr>\n<tr>\n<td width=\"102\"><code>NOT<\/code><\/td>\n<td width=\"291\">\u00a0Negaci\u00f3n de una condici\u00f3n<\/td>\n<\/tr>\n<tr>\n<td width=\"102\"><code>AND\/OR<\/code><\/td>\n<td width=\"291\">\u00a0Condiciones combinadas<\/td>\n<\/tr>\n<tr>\n<td width=\"102\"><code>REGEXP<\/code><\/td>\n<td width=\"291\">\u00a0Expresi\u00f3n regular<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div class=\"tablefooter\"><p>Fuente: elaboraci\u00f3n propia.<\/p>\n<\/div>\n<div class=\"featured featured-blue\"><p>Los operadores num\u00e9ricos tambi\u00e9n resultan muy \u00fatiles para buscar registros en un rango concreto de fechas del calendario.<\/p>\n<\/div>\n<p>Vamos a probar estos operadores para realizar consultas m\u00e1s concretas sobre nuestra base de datos <strong>catalogo<\/strong>. En primer lugar, podemos interrogar a la base de datos sobre los genes ubicados en la hebra positiva de la cadena de ADN en cualquier especie, preguntar por aquellos que no pertenecen a nuestra especie o buscar los genes anotados antes del primer mill\u00f3n de bases en cualquier cromosoma:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"sql\" data-enlighter-theme=\"mowtwo\">mysql&gt; SELECT * FROM genes WHERE hebra LIKE '+';\r\n\r\n+--------+-----------+--------+-----------+-----------+-----------+-----------------+\r\n| nombre | cromosoma | hebra  |   inicio  |   final   | proteina  |     especie     |\r\n+--------+-----------+--------+-----------+-----------+-----------+-----------------+\r\n| ash2   | chr3R     |  +     |  20477248 |  20479098 | NP_733023 | D. melanogaster |\r\n| HNF1A  | chr12     |  +     | 121416548 | 121440312 | NP_000536 | H. sapiens      |\r\n| MYC    | chr8      |  +     | 128748314 | 128753678 | NP_002458 | H. sapiens      |\r\n+--------+-----------+--------+-----------+-----------+-----------+-----------------+\r\n3 rows in set (0.00 sec)\r\n\r\nmysql&gt; SELECT * FROM genes WHERE especie NOT LIKE 'H. sapiens';\r\n\r\n+--------+-----------+--------+-----------+-----------+-----------+-----------------+\r\n| nombre | cromosoma | hebra  |   inicio  |   final   | proteina  |     especie     |\r\n+--------+-----------+--------+-----------+-----------+-----------+-----------------+\r\n| ash2   | chr3R     |  +     |  20477248 |  20479098 | NP_733023 | D. melanogaster |\r\n| cbt    | chr2L     |  -     |    476437 |    479046 | NP_722636 | D. melanogaster |\r\n+--------+-----------+--------+-----------+-----------+-----------+-----------------+\r\n2 rows in set (0.00 sec)\r\n\r\nmysql&gt; SELECT * FROM gens WHERE inici &lt;= 1000000;\r\n\r\n+--------+-----------+--------+-----------+-----------+-----------+-----------------+\r\n| nombre | cromosoma | hebra  |  inicio   |   final   | proteina  |     especie     |\r\n+--------+-----------+--------+-----------+-----------+-----------+-----------------+\r\n| cbt    | chr2L     |  -     | 476437    |  479046   | NP_722636 | D. melanogaster |\r\n+--------+-----------+--------+-----------+-----------+-----------+-----------------+\r\n1 row in set (0.00 sec)<\/pre>\n<p>La cl\u00e1usula puede complementarse con el modificador %, que act\u00faa de comod\u00edn en las expresiones alfanum\u00e9ricas. A continuaci\u00f3n, seleccionamos solo aquellos registros que pertenecen al genoma de la mosca:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"sql\" data-enlighter-theme=\"mowtwo\">mysql&gt; SELECT * FROM genes WHERE especie LIKE '%melano%';\r\n\r\n+--------+-----------+--------+-----------+----------+------------+-----------------+\r\n| nombre | cromosoma | hebra  |   inicio  |   final  |  proteina  |     especie     |\r\n+--------+-----------+--------+-----------+----------+------------+-----------------+\r\n| ash2   | chr3R     | +      | 20477248  | 20479098 | NP_733023  | D. melanogaster |\r\n| cbt    | chr2L     | -      |   476437  |   479046 | NP_722636  | D. melanogaster |\r\n+--------+-----------+--------+-----------+----------+------------+-----------------+\r\n2 rows in set (0.00 sec)<\/pre>\n<p>Tambi\u00e9n podemos combinar preguntas sobre valores de distintos tipos. Por ejemplo, si deseamos averiguar cu\u00e1ntos genes de la mosca de la fruta est\u00e1n anotados en la hebra positiva de la cadena de ADN:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"sql\" data-enlighter-theme=\"mowtwo\">mysql&gt; SELECT * FROM genes WHERE especie LIKE '%melano%' \r\n    -&gt; AND hebra LIKE '+';\r\n\r\n+--------+-----------+--------+----------+----------+-----------+-----------------+\r\n| nombre | cromosoma | hebra  |  inicio  |   final  | proteina  |     especie     |\r\n+--------+-----------+--------+----------+----------+-----------+-----------------+\r\n| ash2   | chr3R     | +      | 20477248 | 20479098 | NP_733023 | D. melanogaster |\r\n+--------+-----------+--------+----------+----------+-----------+-----------------+\r\n1 row in set (0.00 sec)<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>El comando SELECT permite tambi\u00e9n extraer de las tablas \u00fanicamente aquellos registros que poseen ciertas propiedades. Para especificar el filtro a realizar sobre el contenido de una tabla, debe a\u00f1adirse la cl\u00e1usula WHERE: SELECT campo1, campo2,&#8230;, campon FROM tabla WHERE condicion; La condici\u00f3n puede ser simple o compuesta, evalu\u00e1ndose sobre uno o m\u00e1s atributos de [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":[],"acf":[],"_links":{"self":[{"href":"http:\/\/eines-informatiques.recursos.uoc.edu\/gestion-de-datos\/es\/wp-json\/wp\/v2\/pages\/310"}],"collection":[{"href":"http:\/\/eines-informatiques.recursos.uoc.edu\/gestion-de-datos\/es\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"http:\/\/eines-informatiques.recursos.uoc.edu\/gestion-de-datos\/es\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"http:\/\/eines-informatiques.recursos.uoc.edu\/gestion-de-datos\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/eines-informatiques.recursos.uoc.edu\/gestion-de-datos\/es\/wp-json\/wp\/v2\/comments?post=310"}],"version-history":[{"count":5,"href":"http:\/\/eines-informatiques.recursos.uoc.edu\/gestion-de-datos\/es\/wp-json\/wp\/v2\/pages\/310\/revisions"}],"predecessor-version":[{"id":1009,"href":"http:\/\/eines-informatiques.recursos.uoc.edu\/gestion-de-datos\/es\/wp-json\/wp\/v2\/pages\/310\/revisions\/1009"}],"wp:attachment":[{"href":"http:\/\/eines-informatiques.recursos.uoc.edu\/gestion-de-datos\/es\/wp-json\/wp\/v2\/media?parent=310"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}