如何在mysql中执行真正的左外部连接?它的左外部连接似乎包含了内连接。我需要在表b之外的表a中查找记录。
我能想到的最好的办法就是
select * from `a` where `a`.`index` not in (select `index` from `b`)
有没有更优化的方法?也许没有子查询?
我有一个包含很多连接的SQL查询。事实是,在查询必须连接StudentClass表和Class表之前,它输出了正确的行数,应该是4行。但是,当我包含Class和StudentClass表时,它会输出6行,而它仍然应该输出4行。问题是,如果一个学生正在学习2个模块,并且在2个班级中,那么它输出4个模块,这4个模块是2个模块重复的,4个班级是2个班级的副本。为什么会发生这种情况,是我设置表的方式有问题还是查询有问题?
以下是PHP代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "ht
数据结构和示例:
Employees
id name
1 Mike Jensen
2 Lisa Miller
Skills
eid name
1 SQL
1 PHP
查询具有SQL或PHP技能的员工:
SELECT * FROM Employees LEFT JOIN Skills ON (Employees.id = Skills.eid) WHERE Skills.name = "SQL" OR Skills.name = "PHP" GROUP BY Employees.id
查询具有SQL和PHP技能的员工:
SELECT * FRO
我有四个不同的查询,我希望在同一个语句中看到所有结果(单击一次后)。我没有头绪。有可能吗?
1.query
select count(*),subjekt.nazev from osoba,subjekt where
osoba.ID_PATRI_DO=subjekt.ID group by subjekt.nazev order by
subjekt.nazev;
查询
选择count(*),subjekt.nazev,ZADAVACI_POSTUP,subjekt,其中ZADAVACI_POSTUP.id_zadavatel=subjekt.ID
基本上,我有一个类似如下的mysql查询:
mysql_query("SELECT n.title, v.value FROM posts n INNER JOIN votes v ON n.id = v.id");
我需要做的是从posts表中获取标题,并从votes表中获取当前投票值。
目前,除非发生投票,否则投票不会存储到投票表中。所以所有投票为0的帖子都不在投票表中。
这会导致错误,它试图获取标题和投票值,其中帖子id =投票值id。如果投票表中没有任何记录,那么value应该返回NULL或0,但是目前整个查询返回null,所以我甚至不能返回标题。
如何在一个查询中解决
我正在尝试将两个表(A和B)左连接在一起,并希望返回表B中的列在mySQL中标记为null的所有值。 我要连接的两个表都非常大,并且我遇到了一个问题,由于DBMS设置,我的连接将在6000秒后超时;是否有方法可以使此查询更高效地运行? 另外一点信息:即使我将查询限制为10行,它仍然会超时,并给出下面列出的错误代码。 select *
from Table_A a
left join Table_B b
on a.field_X = b.field_X
where b.Field_X is null; 我遇到以下错误代码:“错误代码2013。查询过程中失去了与MySQL服务器的连接。” 附注
我有一个Mysql查询:
SELECT created_at as date FROM table
因此,我为created_at列创建了一个别名。现在我想在WHERE子句中使用这个别名:
SELECT created_at as date FROM table WHERE date = 'xxxx-xx-xx'
这不起作用。Mysql希望我使用真实的列名。有没有办法按照我想要的方式去做?
背景:我正在从多个表中选择记录,并使用UNION将它们联合起来。所有的表都有一个日期列,但在每个表中它的名称都不同。但是我想对美联航的记录执行WHERE,因此我需要始终使用相同的列名
例如:我有两张桌子
表代理
表应用
1)
select a.agentID, agent_nm from agent a
left join application ap on (ap.agentID=a.agentID);
我在上面的查询中使用了左联接,结果是
2)
select a.agentID, agent_nm from application ap
right join agent a on (ap.agentID=a.agentID);
在上面的查询中,我使用了右联接,并得到了与使用左联接相同的结果。喜欢
因此,我的问题是,为什么左和右加入mysql。我
我目前正在使用MyphpAdmin中的一个数据库。总共有9个表被构造成彼此之间的桥梁。我不确定我们的桌子结构是否是最好和最有效的。我正在运行一个只显示class_caption、class_name、course_name和class_description的查询。如何创建一个MySQL查询来显示所有连接在一起的表(event除外)?此外,应该做哪些修改以使此表结构更有效?
Basic查询
SELECT class_name, class_caption, class_credit_hours, class_description
FROM class
我有两个表,每个表有几千行,我需要基于两个日期时间之间的日期时间来连接它们。
select SQL_NO_CACHE * from A
left outer join R on R.ActivityDate > A.StartDate and R.ActivityDate < A.EndDate;
目前查询速度相当慢。我尝试添加索引,但根据explain的输出,它们没有被使用。对于这样的查询,合适的索引策略是什么?使用between而不是<>似乎没有什么不同。
如果执行直接连接,查询速度将提高13倍(返回的行数减少7%),但从逻辑上讲,我需要返回不匹配的行。在额外的行
我需要使用来自同一服务器的不同数据库的两个表的联接来执行一个查询(只选择)。
查询将类似于:
SELECT * FROM DB1.tbl_a LEFT JOIN DB2.tbl_b ON DB1.tbl_a.fieldX = DB2.tbl_b.fieldY WHERE ....
其中tbl_a、tbl_b分别是来自两个不同数据库的DB1、DB2的两个表。
如何做到这一点?,如何不用在连接字符串中指定数据库,而是在使用C#的查询中连接到MySQL服务器。
请帮助我执行以下MySQL查询,该查询连接两个表(A和B):
SELECT * from A
left join B on A.sid = B.sid
where (rCode = 1 Or rCode = 2 Or rCode = 3 Or rCode = 5)
AND (rYear = 2011 or rYear is null)
roleCode是表A中的字段,rYear是表B中的字段
结果集与预期不符。只返回185行,但表A中有629行符合where条件。表B中没有匹配行的行不应该以空值返回其B字段吗?
我有这个SQL查询,在它的正下方是另一个基于结果的查询。我想合并他们,但我感到困惑,因为我是一个新手。
它从3个表中提取数据-第一个查询来自USERS和PLAYERS表。然后,如果玩家在“团队”中,它将从团队表中获取标签。
我的代码:
$sql_result4=mysql_query("SELECT * FROM users JOIN players ON users.player=players.name WHERE users.id='$id'");
$rs4 = mysql_fetch_array($sql_result4);
if ($rs4[te
这类功能的一般“最佳实践”是什么?
我在一个网站上有一个用户表,一个民意测验表和一个民意测验回应表。我想要加载一个页面,该页面加载一个用户尚未回答的投票。
最有效和“最好”的方法是什么?
我尝试过的东西看起来很慢/不是最优的:
使用NOT IN的带有嵌套selects的查询
SELECT p.id
FROM poll p
WHERE p.id NOT IN (
SELECT r.pollID
FROM responses r
WHERE r.username = 'someuser'
)
使用左连接的查询
LEFT JOIN responses ON
我有两个表category和子category,我正尝试使用mysql查询从此表中删除记录
查询is=
$sql="Delete t1, t2 From category as t1
INNER JOIN subcategory as t2 on t1.c_id = t2.c_id
WHERE t1.c_id='$del_c_id' ";
此查询仅从category(t1)表中删除其主键用于子category(T2)表的行。
不从类别(T1)中删除其主键未用于子类别(T2)的行。
我有两个实体,每个都存储在mysql表中。1. productA:{productId(pk),desc,date} 2. productB:{productId(pk),数量,类型,日期}
我想运行这个SQL查询:
select a.*
from productA a left join productB b using(productId)
where b.productId is null
(从a返回所有不存在于b中的产品)
是否可以用Hibernate编写这个查询?
谢谢你!!
我有一个真正的MySQL问题,我现在认为没有答案。请帮帮我,你是我唯一的希望!
简单地说,我有两个表,"People“和"Activity”。这两个表可以由两个不同的关系表连接(长篇大论,涉及大量数据):people_activity和entity_activity。我需要在activity表上执行一个查询,该查询根据两个关系表将people记录链接到activity记录。
这就是我所拥有的,但它在处理大量数据时速度非常慢:
select * from activity
left join peopleactivity on peopleactivity.activityid
我需要使用MySQL连接多个表。我已经做了一些编码,如下所示。
select u.user_name
, u.user_id
, p.colg_name
, r.role
, d.dept_name
from db_user u
JOIN db_profile p
ON u.colg_id=p.profile_id
JOIN db_role r
ON u.role_id = r.role_id
JOIN db_department d
ON u.dept_id = d.dept_id
WHERE u.user_type = 3
AND u.role_id !=