下午好,我刚注意到了一些事情。例如,如果我编写带有联接的mysql查询:
Select Car, Vendor from Cars JOIN Vendor On Vendor.IdCar=Car.IdCar WHERE Car="Brand"
它将归还那辆等同于“品牌”的汽车。
但我注意到,如果我以这种方式构造查询:
Select Car, Vendor from Cars JOIN Vendor On Vendor.IdCar=Car.IdCar AND Car="Brand"
它将返回与前面的查询相同的内容。注意到我用了,而不是在哪里。我还在PHP查询中
我有两张桌子:订单和顾客。订单有来自客户的外键:
我可以通过两种不同的方式加入他们:
First way
Select *
from [Order]
join Customer
on [Order].Customer_id = Customer.id;
第二道
Select *
from [Order],Customer
where [Order].Customer_id = Customer.id;
这两个查询返回相同的结果集,这就引出了我的相关问题:
在这两种查询中,哪一种查询更好? execution?Why,它们之间有区别吗?,当我搜索连接示例时,它们都使用第一种方式吗?
我在PostgreSQL上调用了这个查询,它返回了所有表行的计数!
但是为什么呢?ON部分总是假的,那么结果应该是空的!
select
count(*)
from
skyroom_files f
left join users u on f.user_id = u.id
and f.id = -1;
我为最后一部分尝试了另一个值,它总是返回所有行的计数!
我有两个表: Employee和Person with结构
Employee: Id, PersonId, Designation, IsActive
Person:Id, Name, Contact
Employee的PersonId列引用人员Id,可以为空
我需要返回一个雇员的名字,我的加入条件是
SELECT emp.Salary, emp.Designation, emp.IsActive, p.Name from Employee emp
JOIN Person P ON P.Id = emp.PersonId or (p.Id is NULL AND emp.Id IS NULL)
基本上,我有一个类似如下的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,所以我甚至不能返回标题。
如何在一个查询中解决
我们有一个EF LINQ查询与联接和组按和计数如下。
var subgroupquery1 = from sg in _dbContext.SubGroups
join e in _dbContext.Admins.Where(e => e.Status.StartsWith("Active") && e.SubGroupCode != indivsubgroupcode)
on sg.SubGroupCode equals e.SubGroupCode
joi
我有两个实体,每个都存储在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编写这个查询?
谢谢你!!
select a.somefield, b.someotherfield
from a, b
where a.key = b.key
上面的等价物相当于:
select a.somefield, b.someotherfield
from a join b on a.key = b.key
或者:
select a.somefield, b.someotherfield
from a full join b on a.key = b.key
我非常确定它等同于内部连接,但我刚刚意识到我以前从未真正考虑过它。此外,我想知道是否有任何边缘情况下,它不是10
在我的MySQL中,使用JOIN这个词和使用: table1.id=table2.id有什么不同
Table 1
id name
1 John Lennon
Table 2
id position
1 Singer
//调用JOIN有什么区别?
Select name, position
From Table1, Table2
Where Table1.id=Table2.id;
下面的两个查询有什么区别?
更新
这个问题已经在一个类似的问题中得到了回答,。
SELECT * FROM ca
LEFT JOIN exam
ON ca.subject = exam.subject
和
SELECT * FROM ca
LEFT OUTER JOIN exam
ON ca.subject = exam.subject
表格
Table 'CA'
--------------------
subject|score
----------------
ENG |25
MTH |34
BIO |18
Table 'Exam
我有一个主产品表ICITEM列出产品ID和另一个表ICITEMO (请不要询问表名)和一些可选的产品字段。并非所有产品都存在所有可选字段,例如:
ICITEM.FMTITEMNO
----------------
Product A
Product B
Product C
Product D
ICITEMO.ITEMNO | ICITEMO.OPTFIELD | ICITEMO.VALUE
---------------+------------------+---------------
Product A | COLOR | Blue
Pruduct
我想知道SQL中的这个语句实际上做了什么:
select *
from table
where A (+)= B
我撞到的是:
select *
from table
where A = B
但不知道如何解释(+)=的功能是什么。在我看来,(+)=是告诉它让它满足条件A=B在可用的情况下,如果没有可用的组件,忽略/输入为“空”。
此外,此语句在create语句中运行。
提前谢谢。
下面是我的查询,在最后一行中,我试图查看日期之间的差异是否在15分钟内。但是每当我运行下面的查询时。
SELECT TT.BUYER_ID , COUNT(*) FROM
(SELECT testingtable1.buyer_id, testingtable1.item_id, testingtable1.created_time from (select user_id, prod_and_ts.product_id as product_id, prod_and_ts.timestamps as timestamps from testingtable2 LATERAL VIEW exp
问题1:
select name,trans from sids s where apt='KAUS';
问题2:
SELECT id,transition_id from std_sid_leg where data_supplier='E' and airport='KAUS';
名称的值与id的值相同,带有transition_id.Result集1的事务是结果集2的子集。这两个表都有共同的列作为apt=airport,如果仅有查询不能工作,请提供任何脚本。我需要比较这两个查询的输出并打印数据差异。谢谢。
select sr.Name, srj.Name as ParentSR from Role sr
left join Role srj
on sr.id= srj.ParentRoleId
where sr.isDeleted= 0 and srj.isDeleted= 0
现在,我有190个记录,其中只有40个记录有ParentRoleId,但是当我运行这个查询时,它只返回了40个相同的记录,其中只有parentID,而没有带有ParentRoleID = NULL的记录。我希望它返回角色sr中的每一行,但它没有发生。
关于查询引擎,我有一个更深层次的问题。下面的两个查询是否会以不同的方式运行?我还没有在测试中找到一个,所以我认为查询引擎对它们的解释是一样的。我一直被教导使用内部联接,但我感兴趣的是我的观察是否总是正确的,因为在某些情况下,格式化更容易阅读。
SELECT s.Name, new.OpenDate, s.StoreOpenDate
FROM dbo.site s, #newSiteInfo new
WHERE s.Id = new.SiteId
AND s.StoreOpenDate <> new.OpenDate
AND new.OpenDate IS NOT N
我有一个我写的问题,说它没有正确翻译。查询如下: var query = from a in context.PlaceSyncs
join b in (
from aa in context.PlaceIdentifiers
join bb in context.PlaceSources on aa.PlaceSourceId equals bb.PlaceSourceId
:在JOIN子句中还是在WHERE子句中使用SQL条件更好?是为这两种方式优化的SQL引擎吗?这取决于引擎吗?
是否总是可以用WHERE子句中的条件替换JOIN子句中的条件?
这里的例子说明了我对条件的意义。
SELECT role_.name
FROM user_role
INNER JOIN user ON user_role.user_id_ = user.id AND
user_role.user_id_ = @user_id
INNER JOIN role ON user_role.role_id = role_.i
例如,我有一个sql查询:
select table1.*, table2.* from table1
left join table2 on table1.id=table2.id AND table2.someCol>123 (put it here)<p>
where table2.someCol>123 (or put it here)
似乎这两个位置都可以放置过滤条件,而且意思是一样的,是吗?
我有两张桌子,
a)相册
B)图片
我使用以下查询来选择albums.id、albums.cover_picture_id、pictures.url,其中albums.cover_picture_id = pictures.id,我希望执行以下操作
select all the values from albums,但它还应该获取引用albums.cover_picture_id的pictures.url
出于这个目的,我使用以下SELECT语句
SELECT
albums.id,
albums.cover_picture_id,
pictures.url
FROM al
我有以下表格
ClassName)StudentClass ClassRoom (ClassID,StudentID,StudentID,StudentName,Etc..)StudentDescription. )( StudentDescription),StudentDescriptionID,StudentID,
我想检索student==1上的所有信息
在sql中,我会做如下所示的事情,并获取有关学生的所有信息。
select * from Student s
join StudentClass sc on s.StudentID=sc.StudentID
join Class
我想要创建一个左转连接多个表的选择。
在下面的代码中,我只需要选择表EKPO中列EBELN =变量lv_ebeln的行。但是,一旦我将这个条件添加到WHERE中,我就会得到以下语法错误:
“选择列表”列表中的元素必须用逗号分隔。
那么,有没有办法增加这个条件呢?
DATA: BEGIN OF wa_itab,
gjahr TYPE rseg-gjahr,
ebelp TYPE ekpo-ebelp,
END OF wa_itab,
itab LIKE TABLE OF wa_itab,
lv_belnr TYP
我正在使用Join查询从多个正在工作的表中获取数据。
现在我的问题是,当其中一个表(tbl_Fees或membership_details)中没有记录时,我就得不到记录。总有一天我会犯错。它至少应该显示我的members记录。
我尝试了下面的代码
模型
public function Memberinfo(){
$getDetails = array('members.member_id'=>$this->session->userdata['login_session']['id'],'members.is_st