【mysql – 带有JOIN和WHERE子句的SQL语句】教程文章相关的互联网学习教程文章

mysql-使用where子句中的OR优化sql语句【代码】

在5Gb大小的消息表上运行此查询.问题在于执行需要> 3分钟.SELECT m.id FROM messages m LEFT JOIN dialog d on m.id=d.mid WHERE (SELECT count(*) FROM dialog WHERE (m.from_id=uid1 and m.user_id=uid2) OR (m.from_id=uid2 and m.user_id=uid1))=0 && read_state=0 LIMIT 100 我知道,这是通过“嵌套的SELECT”在哪里进行搜索的一种不好的做法,但是并没有找到选择这种行的另一种方法.试图将OR拆分为2个U...

mysql-where子句后的两个条件【代码】

我有查询不起作用$lokesh = "select * from license_info where mac_id='$mac_id' and admin_user_name='$admin'";在上面的查询中,我选择macid和admin_user_name匹配的记录 但是当我回显此sql查询时,它显示输出select * from license_info where mac_id='0800279020F2' and admin_user_name='sanjay '最后单引号打印在下面的行中,所以我无法检索记录.在下面的行中打印单引号的原因是什么解决方法:原因是您的变量$admin最后包含换行...

mySQL:如何在WHERE IN子句中删除【代码】

这个问题已经在这里有了答案: > MySQL Error 1093 – Can’t specify target table for update in FROM clause 14个我有这个查询SELECT a.album_id parent, a2.album_id child FROM album a LEFT JOIN album a2 ON a2.parent_album_id = a.album_id WHERE a.album_id = 76基本上,它返回父级和子级值,如下所示:parent child -------------------- 76 64 ...

MySQL如何用where子句只计算左连接数?【代码】

我有两个表:ritter(ritterId,ritterName)和quest(questID,ritterID,datum). 现在我的问题是,我如何用一个额外的列显示所有来自Ritter的信息,该列显示了当前周Ritter的任务计数? 我尝试了这个:select r.*, count(q.ritterID) from ritter as r left join quest as q on r.ritterID = q.ritterID group by r.ritterID;这有效,但没有当前星期的原因. 如果我这样做:选择r.*,将ritter中的count(q.ritterID)作为r左加入任务,作为r.ri...

mysql-所有联接末尾的“ where”子句【代码】

假设我有如下2条sql查询,查询结果是否会有所不同?SELECT * FROM A INNER JOIN B ON A.ID = B.ID WHERE B.IsActive = 1 INNER JOIN C ON B.ID = C.ID WHERE C.IsActive = 1SELECT * FROM A INNER JOIN B ON A.ID = B.ID INNER JOIN C ON B.ID = C.ID WHERE B.IsActive = 1 AND C.IsActive = 1解决方法:您的第一个查询在语法上不正确.它需要重写:SELECT * FROM A INNER JOIN B ON A.ID = B.ID WHERE B.IsActive = 1 INNER JOIN C O...

MySQL:where子句 使用正则表达式【图】

where子句使用正则表达式用关键字REGEXP 1、匹配基本字符 eg1: select prod_name from products where prod_name regexp 1000;看上去很像like语句的作用,但是like 1000可不会返回上面的结果,like %1000才可以。 like匹配的是整个列,regexp匹配列值内的文本。 eg2: select prod_name from products where prod_name regexp .000;正则表达式中的.可以匹配任一字符。 2、OR匹配 |实现 eg: select prod_name from products where ...

mysql-如何忽略where子句中的条件【代码】

从表1中选择字段1 WHERE field1> = 4006 AND field1< ( 选择字段1 从表 WHERE field1> 4006 AND栏位2 =假 ORDER BY栏位1 限制1 ) 如果内部选择未返回任何记录,我希望忽略第二个条件(AND field1<).与此相关的topic解决方法:像(未经测试!)之类的东西:SELECT field1 FROM table1 WHERE field1 >= 4006 AND (field1 < (SELECT field1 FROM tableWHERE field1 > 4006AND ...

MySQL WHERE子句中的当前日期【代码】

我只想要从当前日期开始的日期.我如何在CodeIgniter中询问此问题? “ end_date”是DATETIME(Y-m-d H:i:s). 这不起作用:$this->db->select("DATE(end_date) as my_end_date", FALSE); $this->db->where('my_end_date >', date()); $q = $this->db->get('tblTest');解决方法:您需要使用PHP格式化date,以便采用MySQL想要的格式. 尝试这个:$this->db->where('end_date >', date('Y-m-d H:i:s'));您也可以为此使用MySQL的NOW().$th...

RAND()在MYSQL的WHERE子句中【代码】

我发现此博客文章显示了一种从表中获取随机行的方法:http://www.rndblog.com/how-to-select-random-rows-in-mysql/ 我在尝试限制的繁重的删除查询中使用了它,并且它的运行速度很快.DELETE table1 FROM table1 JOIN table2 ON table2.id = table1.salesperson_id JOIN table3 ON table3.id = table2.user_idJOIN table4 ON table3.office_id = table4.id WHERE table1.type = "Snapshot" AND table4.id = 113 OR table4.parent_id ...

MYSQL中WHERE子句的情况【代码】

问题很简单,正如标题所说,但这是一种逻辑.这是我的代码CREATE TABLE `inf_brand_images` ( `id` bigint(99) NOT NULL AUTO_INCREMENT, `brand` varchar(255) NOT NULL, `thumb` text NOT NULL, `is_active` int(2) NOT NULL DEFAULT '1', `cmp_brand` varchar(1024) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM AUTO_INCREMENT=6458 DEFAULT CHARSET=latin1这是此表中的数据ID | brand | thumb |is_active| cmp_brand 1 | NI...

在MySQL中使用HAVING和WHERE子句之间的“OR”?【代码】

我试图使用一个简单的使用提交字段在MySQL中获取记录.更确切地说,用户输入名称(名字或姓氏或全名),服务器应返回匹配的行. 到目前为止我所做的是:SELECT * FROM people WHERE firstname LIKE '%user_submitted_data%' OR lastname LIKE '%user_submitted_data%'这在目前很有效,但是当用户提交全名时,(显然)不起作用.有没有办法在整个’WHERE类型条件’和’HAVING类型条件’之间添加OR?这样我可以做类似的事情:SELECT [some fiel...

mysql – 如何在没有where子句的情况下从两个不同的表中计算两列的总和?【代码】

我使用以下sql语句来汇总来自两个不同表的两列的值.该语句可以输出但不能输出所需的结果.SELECT SUM(`_income`.rate) AS Income, SUM(`_expense`.rate) AS Expense, SUM(_income.rate)-SUM(_expense.rate) AS Balance FROM `_expense`, `_income`我的桌子在这里:CREATE TABLE IF NOT EXISTS `_expense` (`id` int(11) NOT NULL AUTO_INCREMENT,`item` varchar(100) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,`qnty` i...

带有–where子句的mysqldump不起作用【代码】

mysqldump -t -u root -p mytestdb mytable --where=datetime LIKE '2014-09%'这就是我正在做的,它返回:mysqldump: Couldn't find table: "LIKE"我试图返回列datetime就像2014-09的所有行,意思是“所有九月行”.解决方法:您可能需要使用引号:mysqldump -t -u root -p mytestdb mytable --where="datetime LIKE '2014-09%'"

WHERE子句MYSQL中的ISNULL(值,0)【代码】

我有这个要求:SELECT sc.no, scl.quantite, scl.description, scl.poids, scl.prix, sl_ref.refsl, sl_ref.codetva, sl_ref.tauxtva, sl_ref.compte FROM shop_commande AS sc, shop_commande_ligne AS scl, selectline_ref AS sl_ref WHERE sc.id = scl.shop_commande_id AND sl_ref.refshop = ISNULL(scl.shop_article_id, 0) AND sc.id NOT IN (SELECT id_command FROM selectline_flag)有时,在sl_shop_article_id中,有一...

MySQL错误:’where子句’中的未知列【代码】

我有一个名为bank的表,有三列:uid,nick,balance. 我正在尝试创建一个将根据缺口返回余额的查询,并且当我使用此查询时,我在’where子句’中收到错误未知列’Alex’:SELECT b.balance FROM bank AS b WHERE b.nick=`Alex` LIMIT 1谁能看到我在这里做错了什么?解决方法:反引号(`)用于标识符,如表名,列名等.单引号(‘)用于字符串文字. 你想做:SELECT b.balance FROM bank AS b WHERE b.nick='Alex' LIMIT 1或者,更明确一点:SELECT...